-1

如何检查 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';
}
4

4 回答 4

4

list(...) =是数组的解构赋值操作。如果$foo = array("one", "two");thenlist ($x, $y) = $foo;将使$x“一”和$y“二”。当右侧是表达式时,所讨论的数组是没有名称的临时值。

因此,如果您担心它create_clone可能会返回一个空数组,您或许应该为该数组命名,例如:

$clone = create_clone($size, $filename, $filepath, $file);
if (empty($clone)) {
  # empty...
} else {
  list($width, $height) = $clone;
}
于 2013-06-11T03:07:45.653 回答
2

list不仅仅是一个变量或函数,它是一种填充其中变量的语言结构,你应该使用这样的东西:

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';
}
于 2013-06-11T03:03:05.203 回答
1

只需使用 !empty

像这样...

if (!empty($width) && !empty($height)) 
于 2013-06-11T03:03:39.750 回答
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';
}
于 2013-06-11T03:05:35.123 回答