<?php
$arr = [
1,
2,
[
[
'one' => '1',
'two' => 2
]
]
];
function array_search_recursive_pair(array $array, array $pair, $strict = false)
{
$key = key($pair);
if (isset($array[$key]) && (($strict && $array[$key] === current($pair)) || (!$strict && $array == $pair))) {
return $array;
}
foreach ($array as $el) {
if (is_array($el) && $result = array_search_recursive_pair($el, $pair, $strict)) {
return $result;
}
}
return false;
}
var_dump(array_search_recursive_pair($arr, ['one' => 1]));
var_dump(array_search_recursive_pair($arr, ['one' => 1], true));
preferences:
36.36 ms | 402 KiB | 5 Q