Найти массив внутри массива. Проверьте — = если массив содержит другой конкретный массив = —

Как мы можем проверить наличие определенного массива внутри массива?

Например, у нас есть многомерный массив:

$arr = array(
array(1,2,3),
'12',
true,
4,
array(
'name1' => array(1,2),
array(
'some1' => array(99,98,96),
4
),
array(4,4)
)
);

И мы хотим проверить массив (99,98,96), существует ли он внутри нашего $ arr?

-2

Решение

Проверьте этот код из источника array_search

function recursive_array_search($needle,$haystack) {
foreach($haystack as $key=>$value) {
$current_key=$key;
if($needle===$value OR (is_array($value) && recursive_array_search($needle,$value) !== false)) {
return $current_key;
}
}
return false;
}

Надеюсь это сработает

1

Другие решения

Попробуй это:

function findRecursive($arr, $find)
{
foreach ($arr as $match)
{
if (is_array($match))
{
if ($match == $find)
{
return true;
} else
{
if (findRecursive($match, $find))
{
return true;
}
}
}
}

return false;
}
3