Доступ к переменным объекта объекта при реализации RecuritivearRayiterator в рекурсионертертертертертертертер
-
26-09-2019 - |
Вопрос
У меня есть большой arrayobject, который я зацикливаю, используя следующее: -
$rit = new RecursiveIteratorIterator(new RecursiveArrayIterator($hierarchy));
foreach($rit as $key=> $val) {
}
Как я могу получить доступ к конкретному ключу в массиве? Я могу получить доступ к ним, повторяющую $ ключ и $ val, но у меня есть конкретные ключи, которые я хочу получить доступ. Если я попытаюсь позвонить $ ключу [''] Я получаю первую букву на ключевом имени.
Редактировать 1.
Некоторые образцы данных (тоже могут быть много разных детей):
ArrayObject::__set_state(array(
0 =>
ArrayObject::__set_state(array(
0 =>
array (
'id' => '8755',
'company_id' => '1437',
'name' => 'Name 1'
),
1 =>
ArrayObject::__set_state(array(
0 =>
ArrayObject::__set_state(array(
0 =>
array (
'id' => '8763',
'company_id' => '1437',
'name' => 'Name 2'
),
1 =>
ArrayObject::__set_state(array(
0 =>
ArrayObject::__set_state(array(
0 =>
array (
'id' => '9067',
'company_id' => '1437',
'name' => 'Name 3'
),
)),
1 =>
ArrayObject::__set_state(array(
0 =>
array (
'id' => '8765',
'company_id' => '1437',
'name' => 'Name 4'
),
)),
2 =>
ArrayObject::__set_state(array(
0 =>
array (
'id' => '9049',
'company_id' => '1437',
'name' => 'Name 5'
),
)),
3 =>
ArrayObject::__set_state(array(
0 =>
array (
'id' => '8769',
'company_id' => '1437',
'name' => 'Name 6'
),
)),
Решение
По умолчанию рецензионертертертертер будет перечислять только листья. Пытаться
$rit = new RecursiveIteratorIterator(
new RecursiveArrayIterator($hierarchy),
RecursiveIteratorIterator::SELF_FIRST);
получить также содержащие элементы.
Другие советы
Предположить $hierarchy
Ваш большой массив, вы можете использовать $hierarchy["foo"]
Для доступа к значению, связанному с foo
ключ. Или, как это:
$my_key = "foo"
echo $hierarchy[$my_key]
// Same as
echo $hierarchy["foo"]
Не связан с StackOverflow