2017-11-03 3 views
3

존재인지 확인하는 방법.

나는 array_key_exists 기능을 사용하려고했지만 한 차원 배열에서만 작동하는 것으로 보입니다.

은 내가 if(array_key_exists('id',$final_Length_Array)){처럼 그것을 시도하지만

나는 또한이 결과인지 여부를 확인하기는 isset 시도를 작동하지 않았다 있지만 if(isset($final_Length_Array[1][0]['id'])){

도 내가있을거야 어떤 도움을 작동하지 않았다 감사 그것은

+0

문제가되는 예제 배열을 제공하십시오. – trincot

+0

배열이 '처럼 [ { "이름": "홍길동", "년": "1", "교육 과정": "예술" } ]' – Rami

+0

은 그럼 당신은 필요가 없습니다' [1]. 그래서' – trincot

답변

3

슈퍼 해키 솔루션 :

function array_key_exists_recursive($array, $key) { 
    return strpos(json_encode($array), "\"" . $key . "\":") !== false; 
} 

더 나은 솔루션 :

$array = ['a' => ['b' => 'c']]; 
function array_key_exists_recursive($key, $array) { 
    if (array_key_exists($key, $array)) { 
     return true; 
    } 
    foreach($array as $k => $value) { 
     if (is_array($value) && array_key_exists_recursive($key, $value)) { 
      return true; 
     } 
    } 
    return false;    
} 

var_dump(array_key_exists_recursive('b', $array)); 
+1

슈퍼 쿨, 잘 작동하고 지금은 어떤 인덱스를 검색 할 수 있습니다. 고맙습니다. – Rami