2014-03-29 3 views
0

누구도 이것이 비어 있지 않은 이유를 설명 할 수 있습니까? manual documentation for empty()에서PHP 빈 함수 - 연관 배열

<?php 

$attributes=array("description"=>"","quantity"=>"","price"=>"","discount"=>""); 

if(empty($attributes)) 
    echo 'empty'; 
else 
    echo 'non empty'; 
exit; 

?> 
+0

배열 요소에 값이 없어도 배열 요소에 키가 있기 때문에 비어 있지 않은 것으로 간주됩니다. –

답변

4

:

변수가 비어있는 것으로 간주됩니다 여부를 결정합니다. 변수가 없거나 값이 FALSE 인 경우 변수는 비어있는 것으로 간주됩니다. 변수가 존재하지 않으면 empty()는 경고를 생성하지 않습니다.

이 경우 변수 $attributes이 존재하며 FALSE가 아닙니다. 따라서 empty()은 부울 FALSE을 반환합니다.

if(!array_filter($attributes)) { 
    echo 'All values are empty'; 
} 

다음과 모든 배열 값이 비어있는 경우

foreach ($attributes as $key => $value) { 
    if (empty($value)) { 
     echo "'$key' is empty\n"; 
    } 
} 

확인할 :

메시지를 그들 각자가 비어 있는지 확인 반향 배열 값 중이 비어 있는지 확인하십시오 :

if (array_search('', $attributes) !== FALSE) { 
    echo 'One of the values in the array is empty'; 
} 
+1

감각을 만듭니다 ... 명확한 코드 설명을 주셔서 감사합니다 .. :) –

0

빈 배열이 아니기 때문에 그것은 비어있는 배열이 아닙니다.

+0

좋습니다. 감사. 그러나 위의 배열이 비어 있는지 확인하는 더 좋은 방법은 무엇입니까? –

+0

예 .. 찾고 있습니다 .. 업데이트 해 주셔서 감사합니다 .. –