You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助修正PHP MySQL中的if-else条件判断代码问题

修正你的PHP条件判断代码(图标显示逻辑)

我来帮你搞定这段代码的问题,先梳理下原代码里的坑,再给出正确的实现:

原代码的核心问题

  • 语法错误:第一个if条件里的两个判断$video != NULL和$photo != NULL之间没加逻辑运算符,PHP根本没法解析这种写法;
  • 逻辑颠倒:你写的是当$video不为空时显示相机图标,$photo不为空时显示视频图标,这完全搞反了需求;
  • 代码不完整:最后一个elseif的语句没写完直接截断,会触发语法错误;
  • 判断不够严谨:用!= NULL来判断非空不够全面,PHP里推荐用!empty(),它能同时处理NULL、空字符串、0这些“空值”场景,特别适合ID类字段的判断(毕竟很多时候0代表没有对应内容)。

修正后的完整代码

// 先初始化$icon变量,避免出现未定义变量的警告
$icon = '';

// 只要视频或图片有一个不为空,就显示两个图标(和你原注释的意图一致)
if (!empty($video) || !empty($photo)) {
    $icon = '<i class="fa fa-camera"></i> <i class="fa fa-video-camera"></i>' . "\n";
} 
// 只有视频不为空时,显示视频图标
elseif (!empty($video)) {
    $icon = '<i class="fa fa-video-camera"></i>' . "\n";
} 
// 只有图片不为空时,显示相机图标
elseif (!empty($photo)) {
    $icon = '<i class="fa fa-camera"></i>' . "\n";
}

可选调整(如果原注释表述有误)

要是你实际想实现的是**“只有视频和图片都不为空时才显示两个图标”**,那把第一个if里的||(逻辑或)换成&&(逻辑与)就行:

if (!empty($video) && !empty($photo)) {
    $icon = '<i class="fa fa-camera"></i> <i class="fa fa-video-camera"></i>' . "\n";
}

这样修改后,代码既符合PHP语法规范,又能准确根据$video和$photo的状态显示对应图标啦。

内容的提问来源于stack exchange,提问作者Atilla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:37:48