如果有一个或多个对象,则迭代关联数组的值

时间:2015-06-29 16:05:03

标签: php arrays associative-array

我的问题是,我有一组数组

$people =[{name:'Alan', hasChild:true},
    {name:'Alice', hasDetail:true}];

另一个是

$people =[{name:'Alan', hasChild:true}];

我需要打印所有元素。

我试过以下方式

for($i=0; $i<count($people); $i++){
    echo $people[$i]['name'];
}

第一个工作正常。但第二个显示像这样的错误

Notice: Undefined offset: 0 in /opt/lampp/htdocs/vp/pending_users.php on line 320

为什么会这样?我如何克服这个问题

1 个答案:

答案 0 :(得分:2)

这是非常基本的东西。你应该阅读一些初学者的教程。

您可以使用foreach loop循环数组,如下所示:

$people = [
    [
        'name' => 'Alan', 
        'hasChild' => true
    ],
    [
        'name' => 'Alice', 
        'hasChild' => true
    ]
];

foreach ($people as $person) {
    echo $person['name'] . "\n";
}