0

对于空值,我有点困惑获取值。

if (empty($childProducts[$productId]["productLabels"] = $product->getAttributeText('preorderdate'))) { 
            echo 'Empty';}

错误:解析错误:语法错误,意外 '=',期待 ')' 在

谁能告诉我这里有什么问题?

任何帮助表示赞赏。

4

3 回答 3

0

好吧,您将表达式传递给empty().

笔记:

在 PHP 5.5 之前,empty() 只支持变量;其他任何事情都会导致解析错误。换句话说,以下内容将不起作用:empty(trim($name))。相反,使用 trim($name) == false。

来源:PHPempty()

假设您要分配该值,然后重写您的代码:

// Assign the value outside the condition
$childProducts[$productId]["productLabels"] = $product->getAttributeText('preorderdate');

// empty expects a variable
if (empty($childProducts[$productId]["productLabels"])) {
  echo 'Empty';
}
于 2013-02-06T12:34:10.617 回答
0
$childProducts[$productId]["productLabels"] = $product->getAttributeText('preorderdate');
if (empty($childProducts[$productId]["productLabels"])) { 
      echo 'Empty';
}

如果未设置,默认情况下$product->getAttributeText('preorderdate');应返回 false

if ($childProducts[$productId]["productLabels"] = $product->getAttributeText('preorderdate');) { 
      echo 'Empty';
}
于 2013-02-06T12:35:51.750 回答
0

引用PHP empty()

在 PHP 5.5 之前,empty() 只支持变量;其他任何事情都会导致解析错误。换句话说,以下内容将不起作用:empty(trim($name))。相反,使用 trim($name) == false。

你的 PHP 版本是 5.5 吗?

于 2013-02-06T12:25:43.897 回答