致命错误:不能对表达式的结果使用isset()

时间:2016-08-19 13:59:10

标签: php html wordpress

使用isset进行编码时遇到致命错误。我搜索了stackoverflow但结果并不理想。

我正在

  

致命错误:不能对表达式的结果使用isset()(可以使用“null!== expression”代替)

我的代码是

if (!isset( $size || $color )) {
    $style = '';    
}else{
    $style = 'font-size : ' . $size . ';color:' . $color;   
}

3 个答案:

答案 0 :(得分:4)

你这样使用

if  (!isset( $size ) || !isset( $color ))  {

答案 1 :(得分:4)

如评论(和错误消息)中所述,您无法将表达式的结果传递给let count = managedContext.countForFetchRequest(fetchRequest, error: nil) == 0

您可以使用多个isset调用,或者反转if / else块的逻辑并将多个参数传递给isset,我认为这是最干净的解决方案:

isset

您可以先通过设置默认值来进一步清理它,从而避免使用else部分:

//true if both are set
if(isset($size, $color)) {
    $style = 'font-size : ' . $size . ';color:' . $color;
}else{
    $style = '';
}

你甚至可以使用三元,但有些人发现它们更难阅读:

$style = '';
if(isset($size, $color)) {
    $style = 'font-size : ' . $size . ';color:' . $color;
}

答案 2 :(得分:0)

您的表达式始终返回true或false =>理论上,isset总是返回true,所以PHP不允许这个 变化

if (!isset( $size || $color )) {

if (!isset($size) || !isset($color)) {