如何在 php 嵌套数组中引用位置



我有一个数组$myarray如下所示:

Array (
[45] => stdClass Object (
[id] => 45
[response_id] => 2
[question_id] => 1
[choice_id] => 2
)
[46] => stdClass Object (
[id] => 46
[response_id] => 2
[question_id] => 2
[choice_id] => 4
)
...
) 

如何引用此数组的位置? 例如,获得第一个,第二个,。 。数组的位置。

似乎唯一有效的方法是如果我明确地说

$myarray[45]->choice_id

但我并不总是知道数字,我想参考这些位置。有没有办法将第一个位置引用为:

$myarray[0]->choice_id

谢谢

在这种情况下,您似乎不妨使用array_values重新索引数组。由于键与每个内部对象中的 id 属性的值相同,因此不会丢失任何数据。

但一般来说,如果你想在保留数组键的同时选择数组中的任意位置,一种方法是用它构造一个迭代器。例如:

$iterator = new ArrayIterator($array);
$iterator->seek(2);               // go to position 2 (regardless of key)
$value = $iterator->current();

当然,如果您特别想要第一项,最简单的方法是$value = reset($array);

最新更新