如何在Bootstrap电商站中隐藏值为0的{$r["gia_ao"]}折扣元素
解决方法:修复PHP/模板变量混用的问题
你的代码无效的核心原因是在PHP代码块里错误使用了模板引擎的变量语法({$r["gia_ao"]}),PHP无法识别这种占位符,导致条件判断逻辑失效。以下是两种场景的正确写法:
场景1:纯PHP环境(直接在.php文件中编写)
直接使用PHP变量语法,去掉模板风格的{}包裹:
<?php if ($r["gia_ao"] !== 0) : ?> <p class="per-discount"> - <?php echo $r["gia_ao"]; ?>% </p> <?php endif; ?>
场景2:使用模板引擎(如Smarty等)
如果你的项目用了模板引擎,直接用模板自身的条件判断语法,无需混写PHP标签:
{if $r.gia_ao !== 0} <p class="per-discount">- {$r.gia_ao}%</p> {/if}
额外注意:数据类型问题
如果数据库返回的gia_ao是字符串类型(比如"0"),严格比较!== 0会判断为true(因为字符串和数字类型不同),这时候需要先转换数据类型再判断:
<?php $discount = (int)$r["gia_ao"]; ?> <?php if ($discount !== 0) : ?> <p class="per-discount"> - <?php echo $discount; ?>% </p> <?php endif; ?>
内容的提问来源于stack exchange,提问作者Tom Pham
相关产品推荐
相关产品推荐

