2016-12-28 3 views
-2

배열 내부의 특정 배열의 가용성을 확인할 수있는 방법은 무엇입니까? 예를 들어 PHP - 배열 내부에서 배열을 찾습니다. 배열에 다른 특정 배열이 포함되어 있는지 확인하십시오 = -

우리는 다차원 배열이 있습니다

$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

잘 작동합니다 희망, 분명히 이것에 대한 기능을 사용 할 준비가 없다. 그래서 당신은 당신 자신의 것을 구현해야 할 것입니다. 너 그거 해봤 니? 지금까지 작성한 코드를 게시하고 예상대로 작동하지 않는 코드를 설명하십시오. 도움을 받으려면 _specific_ 질문이 필요합니다. 우리는 당신을 위해 당신의 코드를 작성하는 것이 아닙니다, 미안합니다. – arkascha

+0

이것은 매우 추상적 인 논리이며 아무도 코드의 작은 조각을 공유 할 수 없다고 저는 믿지 않습니다. – Vital

+2

이 질문을 닫는 투표. 유료 프로그래머를 고용하여 업무를 수행하는 것이 좋습니다. 우리는 코드를 작성하지 않고 _your_ 코드를 사용하도록 돕기 위해 왔습니다. 이 페이지의 내용을 설명하는 메타 질문에서 _clearly_ 설명되어 있습니다. – arkascha

답변

1

확인이 코드를

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

소스 array_search에서 나는이

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