rol*_*ger 2 php object multidimensional-array
我需要测试特定的键/值是否存在,然后返回该键/值所属的数组索引,而不必循环遍历数组的每个元素和/或级别。这可能吗?
[0:
{ regional:
[ 0 :
{
ID: 1000
someInfoA : valueA
someInfoB : valueB
}
]
[ 1 :
{
ID: 1001
someInfoA : valueA
someInfoB : valueB
}
]
[ 2 :
{
ID: 1002
someInfoA : valueA
someInfoB : valueB
}
]
[ 3 :
{
ID: 1003
someInfoA : valueA
someInfoB : valueB
}
]
}
{ national :
[ ... ]
[ ... ]
}
]
Run Code Online (Sandbox Code Playgroud)
在此数据示例中,我需要查看是否ID: 1002存在,如果存在,则返回数组索引:[2],如果不存在则返回false。我已经看到了确定键/值是否存在的各种方法,但我还没有看到用于返回它所属的数组索引的非循环方法。
您可以组合使用array_column()和array_search()。看看这里。
$records = [
[
'id' => 2135,
'first_name' => 'John',
'last_name' => 'Doe',
],
[
'id' => 3245,
'first_name' => 'Sally',
'last_name' => 'Smith',
],
[
'id' => 5342,
'first_name' => 'Jane',
'last_name' => 'Jones',
],
[
'id' => 5623,
'first_name' => 'Peter',
'last_name' => 'Doe',
]
];
$key = array_search(3245, array_column($records, 'id'));
echo $key;
Run Code Online (Sandbox Code Playgroud)