2016-12-28 8 views
-2

Как мы можем проверить наличие определенного массива внутри массива?PHP - Найти массив внутри массива. Do check - = if array содержит другой конкретный массив = -

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

$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), не существует, что в нашем $ обр?

+4

Ну, там, очевидно, не готова к использованию функции для этого. Таким образом, вам придется реализовать свои собственные. Вы попробовали это? Пожалуйста, напишите код, который у вас есть, и объясните, что не работает должным образом. Нам нужен конкретный вопрос, чтобы помочь. Мы не здесь, чтобы написать ваш код для вас, извините. – arkascha

+0

Это очень абстрактная логика, и я не верю, что никто не может поделиться небольшим фрагментом кода. – Vital

+2

Голосование, чтобы закрыть этот вопрос. Я рекомендую вам нанять заплаченного программиста, чтобы сделать вашу работу за вас. Мы здесь, чтобы помочь вам с вашим кодом, а не писать код для вас. Это объясняется в метафайлах, объясняющих, о чем идет речь. – arkascha

ответ

1

проверим этот код из источника 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; 
} 

Я надеюсь, что это будет работать

3

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

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; 
}