2013-06-11 2 views
-1

Как проверить, пуст ли список PHP?Как проверить, пуст ли список PHP пустым

Это явно не работает ...

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

Не позволяйте имя обмануть вас. На самом деле это не список, который можно найти в Python или Lisp - это две разные переменные, заполненные языковой конструкцией. Вам нужно будет либо проверить каждую отдельную переменную на значение, либо проверить результат операции, которая создает массив. –

+1

Во-первых, список не вещь. У него нет имени, и вы не можете его решить. Во-вторых, он никогда не может быть «пустым». – hobbs

+3

используйте функцию 'empty()'. – Kevin

ответ

4

list(...) = является операцией присваивания деструктурирующего для массивов. Если $foo = array("one", "two");, то list ($x, $y) = $foo; составит $x «один» и $y «два». Когда правая сторона является выражением, тогда рассматриваемый массив является временным значением без имени.

Так что, если вы обеспокоены тем, что create_clone может возвращать пустой массив, который вы, возможно, следует дать массив со имя, например:

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

list не только переменная или функция, это language construct заполнение переменных внутри него, вы должны использовать что-то вроде этого:

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

просто использовать! пустой

Как так ...

if (!empty($width) && !empty($height)) 
0

Если вы хотите сказать, если create_clone() возвращается пустой результат, вам нужно поставить возвращение в переменном своем:

$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'; 
} 
Смежные вопросы