2013-10-11 3 views
0

PHP에서 다차원 배열의 빈 요소를 포함하는 배열을 삭제하는 함수가 필요합니다. 다음은 내 배열입니다. 배열 [1]을 찾아 삭제해야합니다. array [2]는 요소 empty가 값을 갖지 않기 때문입니다.PHP에서 다차원 배열에서 빈 배열을 삭제하는 방법

$array[] = array(
    'name'=>'name1', 
    'email'=>'email1', 
    'empty'=>'NOT_EMPTY' 
); 
$array[] = array(
    'name'=>'name2', 
    'email'=>'email2', 
    'empty'=>'' 
); 
$array[] = array(
    'name'=>'', 
    'email'=>'', 
    'empty'=>'' 
); 

나는 결과

Array 
(
    [0] => Array 
     (
      [name] => name1 
      [email] => email1 
      [empty]=> NOT_EMPTY 
     ) 

    [1] => Array 
     (
      [name] => name2 
      [email] => email2 
     ) 

    [2] => Array 
     (
     ) 

) 

있어하지만 결과

F에 동일시에만 unset의 값 그 자체
Array 
(

    [0] => Array 
     (
      [name] => name2 
      [email] => email2 
      [empty]=> NOT_EMPTY 
     ) 

) 
+0

단순한 해요 결과를 얻는 방법을 이해하는'array_filter()'함수 코드. –

+0

그것은 inbuilt 함수입니다. – nikki

답변

1

array_filter() 예상

$array = array_map('array_filter', $array); 

print_r($array); 

할 때 전체 배열이 아닙니다. 당신은 루프가 필요합니다, 및 배열 요소 누락이있는 경우, 설정되지 않은 배열, 같은 :

foreach($array as $key => $a){ 
    if(count(array_filter($a)) < count($a)){ 
    unset($array[$key]); 
    } 
} 

아마 더 좋은 방법이있다, 우리는 또한 당신을보고해야합니다

관련 문제