我有一个数组$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);