Возможно, кто-то может помочь мне с этим:
Я использую базовую функцию поиска, чтобы найти массив глубоко внутри массива.Проблема в том, что когда массив найден, я бы также хотел вернуть его родительский ключ.Есть ли функция PHP, которая может определить родительский ключ массива?
Ниже приведен пример функции поиска ... В идеале я хотел бы вернуть найденный массив, а также его родительский ключ.
function search($array, $key, $value){
$results = array();
if (is_array($array)){
if ($array[$key] == $value){
$results[] = $array;
}
foreach ($array as $subarray){
$results = array_merge($results, search($subarray, $key, $value));
}
}
return $results;
}
ЗДЕСЬЭто пример лучшей иллюстрации, что я имею в виду: Вот пример массива, который я хотел бы найти:
Array
(
[categories] => Array
(
[1] => Array
(
[data] =>
[id] => d
[name] => Bracelets
[products] => Array
(
[0] => Array
(
[id] => j
[name] => Red
[data] =>
)
[1] => Array
(
[id] => gi
[name] => Torqoise
[data] =>
)
)
)
Если я ищу что-то с «id» из «j», Я бы получил этот массив в результате:
Array
(
[0] => Array
(
[id] => j
[name] => Red
[data] =>
)
)
Теперь, в идеале, я хотел бы также знать родительский ключ этого массива, который в примере ' Products ',который я, очевидно, должен был бы получить, прежде чем возвращать результаты ...