我有一个大型的arrayObject,我正在使用以下代码循环: -
$rit = new RecursiveIteratorIterator(new RecursiveArrayIterator($hierarchy));
foreach($rit as $key=> $val) {
}
如何访问阵列中的特定键?我可以通过回显$ key和$ val来访问它们,但我有我希望访问的特定密钥。如果我尝试拨打$ key [''],我会在密钥名称上输入第一个字母。
编辑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'
),
)),
答案 0 :(得分:1)
默认情况下,RecursiveIteratorIterator仅列出叶子。试试
$rit = new RecursiveIteratorIterator(
new RecursiveArrayIterator($hierarchy),
RecursiveIteratorIterator::SELF_FIRST);
也可以获取包含元素。
答案 1 :(得分:0)
假设$hierarchy
是您的大型数组,您可以使用$hierarchy["foo"]
来访问与foo
密钥关联的值。或者像这样:
$my_key = "foo"
echo $hierarchy[$my_key]
// Same as
echo $hierarchy["foo"]