我有以下代码:
<p><? echo $langdata['oneprodpage_brand']; ?>:</strong> <? echo $thisproduct['brandname']; ?></p>
它带来了这个:
品牌名称:{品牌名称}
如果没有给出品牌,则默认添加“无品牌”(所有数据都在数据库中添加)
我想做的事情,如果php发现这个值“没有品牌”然后做什么......
我该怎么做?
我试过这个
<? if ($thisproduct['brandname'] == Without brand) { ?>
<? } else { ?>
<p><? echo $langdata['oneprodpage_brand']; ?>:</strong> <? echo $thisproduct['brandname']; ?></p>
<? }; ?>
但它不起作用
答案 0 :(得分:2)
你忘记了一些没有品牌的报价,你的代码将是:
<? if ($thisproduct['brandname'] == "Without brand") { ?>
<? } else { ?>
<p><? echo $langdata['oneprodpage_brand']; ?>:</strong> <? echo $thisproduct['brandname']; ?></p>
<? }; ?>
当你没有品牌时想要执行的代码应该在:
之后<? if ($thisproduct['brandname'] == "Without brand") { ?>
之前:
<? } else { ?>
但是,我希望你的方式真的不那么可读,我宁愿:
<?php
if ($thisproduct['brandname'] == "Without brand") {
// Do something
} else {
echo "<p>". $langdata['oneprodpage_brand'] ."</strong>". $thisproduct['brandname'] ."</p>";
}
?>
答案 1 :(得分:0)
您可以尝试这样的事情:
$withoutBrandNames = array('Without brand');
if (in_array($thisproduct['brandname'], $withoutBrandNames)) {
$thisproduct['brandname'] = 'This product has no brand';
}
echo $thisproduct['brandname'];
或者,如果您认为评论建议:
if (stristr($thisproduct['brandname'], 'Without brand') === false) {
$thisproduct['brandname'] = 'This product has no brand';
}
echo $thisproduct['brandname'];
我使用了不区分大小写的比较函数,以防出现异常情况,选择当然是你自己的。
PS:正如评论所示,如果标签全部包含代码,则无需打开和关闭标签,您甚至可以使用这样的短期语法:
<?php if (statement): ?>
<p> Some lovely HTML</p>
<?php else: ?>
<p>Some different lovely HTML</p>
<?php endif; ?>
我讨厌视图文件中的花括号,事实上,我一般都讨厌视图文件中的PHP - 但这似乎是必要的。