假设我有一个这样的数组:
Array
(
[Start] => Array
(
[Item 1] => Array
(
[0] => Item 1_1
[Item 2_1] => Array
(
[Item 2_1_1] => x
)
[1] => Item 3_1
)
[0] => Item 2
[1] => Item 3
)
)
是否有一个 php 函数可用于获取指向数组中值 x
的路径,这意味着,在这种情况下,结果将是:
Start, Item 1, Item 2_1, Item 2_1_1, x
最佳答案
我目前能想到的唯一方法是大量嵌套的 foreach ($array as $key => $value)
循环和 array_search()
。
虽然将其设计为递归的会更好,因此使用函数是明智的。
function recursiveSearch($key, $array)
{
foreach ($array as $k => $ar) {
if (is_array('x', $ar)) {
return $k . ', ' . array_search('x', $ar);
} else {
if ($ar === 'x') {
return $k
} else {
return recursiveSearch($key, $ar);
}
}
}
}
只是一个尝试,不一定有效或类似的东西。
关于php - 按值获取所有数组键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14902353/