2013-06-11 2 views
-1

PHP 목록이 비어 있는지 확인하는 방법?PHP 목록이 비어 있는지 확인하는 방법

list($width, $height) = create_clone($size, $filename, $filepath, $file); 

if (!empty($width) && !empty($height)) { 
    echo 'list is filled up with values'; 
} else { 
    echo 'list contains no values'; 
} 
이 명확하게 작동하지 않습니다

...

list($width, $height) = create_clone($size, $filename, $filepath, $file); 

if (!list) { 
    echo 'list is filled up with values'; 
} else { 
    echo 'list contains no values'; 
} 
+0

:

그래서 당신은 create_clone 빈 배열을 반환 할 수 있음을 우려하는 경우는 아마도 처럼 배열에 이름을을 제공해야합니다. 실제로 파이썬이나 Lisp에서 찾을 수있는 것과 같은 목록은 아닙니다. 언어 구조로 채워진 두 개의 별개의 변수입니다. 각 개별 변수에 대해 값을 테스트하거나 배열을 생성하는 연산 결과를 테스트해야합니다. –

+1

먼저 목록은 문제가 아닙니다. 이름이 없으므로 주소를 지정할 수 없습니다. 둘째로, "비어있을"수는 없습니다. – hobbs

+3

'empty()'함수를 사용하십시오. – Kevin

답변

4

list(...) =이 배열의 destructuring 할당 작업입니다. $foo = array("one", "two");이면 은 $x을 "하나"로 $y을 "2"로 만듭니다. 오른쪽이 표현식이면 해당 배열은 이름이없는 임시 값입니다. 이름이 너희를 속이는하지 마십시오

$clone = create_clone($size, $filename, $filepath, $file); 
if (empty($clone)) { 
    # empty... 
} else { 
    list($width, $height) = $clone; 
} 
2

list

그냥 변수 또는 함수가 아닙니다, 그것은,이 같은 것을 사용한다 그것은 내부의 변수를 채우는 language construct있어
1

는 사용!과 같이 빈

...

당신이 create_clone()가 빈 결과를 반환하면 말하고 싶은 경우
0

, 당신은 자신의 변수에 반환을 넣어해야합니다

$clone = create_clone($size, $filename, $filepath, $file); 
if (!empty($clone)) { 
    list($width, $height) = $clone; 
    echo 'list is filled up with values'; 
} else { 
    echo 'list contains no values'; 
} 
관련 문제