数组元素没有显示?

时间:2010-12-01 16:40:41

标签: php arrays codeigniter

我正在尝试打印数组的[0]元素。下面的代码创建了我的数组,但输出只是说'Array'

$this->db->select('company_name');
$query = $this->db->get('companies');
$query = $query->result_array();
echo $query['company_name'];

4 个答案:

答案 0 :(得分:1)

还没有使用PHP一段时间,但做了类似的事情:

print_r($query);

这将显示该对象的所有内容,然后检查您正在查看的索引是否是一个数组本身,因为如果它只包含与值列表相对应的单个值,则只能回显某些值。

答案 1 :(得分:1)

$query['company_name']是一个数组。

使用print_r($query['company_name']);查看更多详情。

答案 2 :(得分:0)

您要做的是回显一个数组本身。如果您只是尝试回显一个数组,PHP将不会显示内容。

当您从数据库获得结果时,通常它将是一个二维数组,也就是说,它将是一个数据更多数组的数组。如果您回显最顶层数组的索引1中的数据,您将尝试回显一个数组,因为它位于第一个数组中。

为了实际获取内容,您需要使用两个索引;一个用于数组的索引,一个用于该数组中的数据的索引:

<?php
    $my_array = array(array(8, 2, 4), array(7, 12, 32), array(62, 2, 1));
    echo $my_array[1][1] // echos 12
    echo $my_array[1] // echos "Array" because the data at index 1 is an array
?>

或许你想看到数组的所有内容。如果是这样,print_r()功能就是你的朋友。它是递归的,可以让你看到数组中数组的内容:

<?php
    $my_array = array(array(8, 2, 4), array(7, 12, 32), array(62, 2, 1));
    print_r($my_array);
    /*
        The above will output the following:
        Array
        (
            [0] => Array
                (
                     [0] => 8
                     [1] => 2
                     [2] => 4
                )

            [1] => Array
                (
                     [0] => 7
                     [1] => 12
                     [2] => 32
                )

            [2] => Array
                (
                     [0] => 62
                     [1] => 2
                     [2] => 1
                )
        )
    */
?>

查看print_r() PHP Reference处的参考资料以获取更多信息。

答案 3 :(得分:0)

$query['company_name']是一个数组,该数组由返回结果集中每条记录的'company_name'字段的值组成,

因此,

$query['company_name']['0']是第一个返回行中的company_name。

因此你想要:

echo $query['company_name'][0];
print $query['company_name'][0]
print_r($query['company_name']);

简单地做:

print_r($query);

将让您了解返回的结果集的结构。