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

Iterate values of Associative array if it has one object or more

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

$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

为什么会这样?我该如何解决这个问题

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

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

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

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