<?php
$a = array(
'root_trrreeee1' => array(
'path1' => array(
'description' => 'etc',
'child_of_path_1' => array(
array('name' => '1'),
array('name' => '1')
)
),
'path2' => array(
'description' => 'etc',
'child_of_path_2' => array(
array('name' => '1'),
array('name' => '2')
)
),
),
'name' => '1',
1 => array('name' => '1'),
'another_leaf' => '1'
);
function array_value_path(array $array, $needle, &$path)
{
foreach($array as $key => $value) {
if ($value == $needle || is_array($value) && array_value_path($value, $needle, $path)) {
array_unshift($path, $key);
return true;
}
}
return false;
}
$path = [];
array_value_path($a, ['name' => 1], $path);
print_r($path);
preferences:
26.95 ms | 405 KiB | 5 Q