使用 isset
编码时出现 fatal error 。我搜索了 stackoverflow,但结果并不令人满意。
我得到了
Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead)
我的代码是
if (!isset( $size || $color )) {
$style = '';
}else{
$style = 'font-size : ' . $size . ';color:' . $color;
}
最佳答案
如评论(和错误消息)中所述,您不能将表达式的结果传递给 isset
。
您可以使用多个 isset 调用,或者反转 if/else block 的逻辑并将多个参数传递给 isset,我认为这是最干净的解决方案:
//true if both are set
if(isset($size, $color)) {
$style = 'font-size : ' . $size . ';color:' . $color;
}else{
$style = '';
}
您可以通过先设置默认值来进一步清理它,从而避免需要 else 部分:
$style = '';
if(isset($size, $color)) {
$style = 'font-size : ' . $size . ';color:' . $color;
}
你甚至可以使用三元组,尽管有些人觉得它们更难阅读:
$style = isset($size, $color) ? 'font-size : ' . $size . ';color:' . $color : '';
关于php - fatal error : Cannot use isset() on the result of an expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39040936/