Возможно, кто-то может помочь мне с этим:Найти ключ от родителя в массиве/PHP
Я использую базовую функцию поиска, чтобы найти массив в глубине массива. Проблема в том, что после того, как этот массив будет найден, я также хотел бы вернуть его родительский ключ. Есть ли функция 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] =>
)
)
)
Если я ищу что-то с ' идентификатор»из„J“, я хотел бы получить этот массив в качестве результата:
Array
(
[0] => Array
(
[id] => j
[name] => Red
[data] =>
)
)
Теперь, в идеале я хотел бы знать, родительский ключ этого A rray, который в примере «« Продукты », который я, очевидно, должен будет получить, прежде чем возвращать результаты ...
@Jordan Как это? Просто используйте расширенный синтаксис foreach, и вы получите его –