致命错误:无法在表达式的结果上使用isset()

Mus*_*uaz 5 html php wordpress

isset我编码时遇到致命错误。我已经搜索了stackoverflow,但结果并不令人满意。

我正进入(状态

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

我的密码是

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

Ste*_*eve 6

如注释(和错误消息)所述,您不能将表达式的结果传递给isset

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

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

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

$style = '';
if(isset($size, $color)) {
    $style = 'font-size : ' . $size . ';color:' . $color;
}
Run Code Online (Sandbox Code Playgroud)

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

$style = isset($size, $color) ? 'font-size : ' . $size . ';color:' . $color : '';
Run Code Online (Sandbox Code Playgroud)


sca*_*dge 5

你应该用这种方式

if  (!isset( $size ) || !isset( $color ))  {
Run Code Online (Sandbox Code Playgroud)