Эта функция возвращает массив (0, «данные», 2, «данные», 1, «идентификатор») для примера OP (т. Е. Полный путь к значению)
Функция, котораяищет пару $key => $value
в массиве и возвращает путь:
function array_search_r($key, $value, $haystack, $strict = null) {
$strict = $strict ?: false;
if (is_array($haystack)) {
foreach($haystack as $k => $v) {
if ($strict ? ($k === $key && $v === $value) : ($k == $key && $v == $value)) return array($k);
if(($path = array_search_r($key, $value, $v, $strict)) !== false) return array_merge(array($k), $path);
}
}
return false;
}