如何判断$couse_sections->name是否为NULL并输出对应字段内容?
问题修正与正确实现
你的代码存在几个明显问题,同时判断逻辑也需要调整,以下是修正方案:
问题点梳理
- 变量名拼写错误:
$couse_sections少写了一个r,应该是$course_sections;输出时用的$thissection没有定义,应该统一使用$course_sections - 判断逻辑不准确:
isset()用于检查变量/属性是否存在且不为NULL,但如果要严格判断name是否为NULL,用is_null()或者直接=== NULL会更精准
正确实现代码
方案1:标准if-else写法
// 严格判断name属性是否为NULL if (!is_null($course_sections->name)) { echo $course_sections->name; } else { echo "<h3>Topic {$course_sections->section}</h3>"; }
方案2:三元运算符简化写法
如果想让代码更简洁,可以用三元运算符:
echo !is_null($course_sections->name) ? $course_sections->name : "<h3>Topic {$course_sections->section}</h3>";
额外注意事项
- 确保
$course_sections对象已经被正确实例化,否则调用其属性会触发报错 - 如果你的需求是当
name为NULL或空字符串时都显示section,可以把判断条件换成empty($course_sections->name),但要注意empty()会将0、''、'0'等值也视为“空”,根据实际业务场景选择
内容的提问来源于stack exchange,提问作者rgmnz
相关产品推荐
相关产品推荐

