Допустим есть вот такой массив
[ 1, 2, [ 1, 2, [ 1, 2, 3 ], 4, 5 ], 4, 5 ]
Мне нужно получит первый попавшийся (любой) ключ у которого значение например равно 3
(трем).
$arr = [ 1, 2, [ 1, 2, [ 1, 2, 3 ], 4, 5 ], 4, 5 ];
function recu($arr, $oldKey = "") {
foreach ($arr as $key => $value) {
if ($value == 3)
echo "finded in position ".$oldKey."_".$key."_";
if (is_array($value))
return recu($value, "".$oldKey."_".$key."_");
}
}
recu($arr);
Если нужно получить именно массив соответствующей структуры:
$arr = [ 1, 2, [ 1, 2, [ 1, 2, 3 ], 4, 5 ], 4, 5 ];
print_r( foo($arr, 3) );
function foo(Array $arr, $need) {
static $triger = true;
$result = [];
foreach ($arr as $key => $val) {
if ( is_array($val) && !empty($tmp = foo($val, $need)) ) {
$result[$key] = $tmp;
}
if ($val == $need & $triger) {
$result[$key] = $val;
$triger = false;
}
}
return $result;
}
Результат:
Array
(
[2] => Array
(
[2] => Array
(
[2] => 3
)
)
)
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
string trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] )
Здравствуйте, перенес сайт modx revo на новый хостингСайт работает а при вводе Правильного логина и пароля в /manager/ просто обновляется страница