php - fatal error : Cannot use isset() on the result of an expression

标签 php html wordpress

使用 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/

相关文章:

html - 如何使用 flexbox css 设置顶部底部和右侧内容

javascript - 父 div 滚动控制子 div 滚动事件

html - 带有文字的 float 图像;未应用 CSS

php - 是否有任何使用 cassandra 和 php 的简单网络项目可用?

php - 如何使用虚拟文件夹结构url

php - 根据 URL 参数动态显示/隐藏 Elementor 内容?

php - wp_enqueue_style 将输出的 CSS 直接放在 HTML 中

javascript - 将 HTML 表单转换为 Angular POST 请求

javascript - 如何在codeigniter中获取特定的ajax结果

php - 如何在 PHP 中模拟 POST 请求