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

PHP表格行按条件引入Font Awesome类遇语法错误求助

解决PHP语法错误:unexpected 'if' (T_IF)

错误根源是你在echo的字符串拼接过程中直接插入了完整的if语句块,PHP不支持这种写法,必须先处理好条件判断的结果,再参与字符串拼接,或者用三元运算符简化逻辑。

修正方案1:使用三元运算符

适合这种简单的条件判断场景,一行就能完成逻辑:

foreach($result as $row) {  
    echo '<tr>
            <td>'. ($row["FLAG"] == "1" ? '<i class="fa-sharp fa-solid fa-flag-pennant"></i>' : '') .'</td>
            <td>'.$row["CREATEDDATE"].'</td> 
            <td>'.$row["ID"].'</td> 
            <td>'.$row["CUSTOMER_NAME"].'</td> 
            <td>'.$row["VEHICLENO"].'</td> 
            <td>'.$row["SERIAL"].'</td> 
        </tr>';  
}  

修正方案2:拆分逻辑,先处理条件内容

如果后续需要添加更多分支逻辑,这种写法更清晰易维护:

foreach($result as $row) {
    // 先处理FLAG对应的图标内容
    $flagIcon = '';
    if($row["FLAG"] == "1") {
        $flagIcon = '<i class="fa-sharp fa-solid fa-flag-pennant"></i>';
    }
    
    // 再输出完整的HTML行
    echo '<tr>
            <td>'.$flagIcon.'</td>
            <td>'.$row["CREATEDDATE"].'</td> 
            <td>'.$row["ID"].'</td> 
            <td>'.$row["CUSTOMER_NAME"].'</td> 
            <td>'.$row["VEHICLENO"].'</td> 
            <td>'.$row["SERIAL"].'</td> 
        </tr>';  
}

补充说明

  • 三元运算符格式为条件 ? 满足条件的内容 : 不满足条件的内容,注意要用括号把整个三元表达式包裹,避免拼接时出现优先级错误。
  • 拆分逻辑的方式更适合后续扩展,比如需要根据FLAG的不同值显示不同图标时,直接在if块里添加else分支即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:20:28