-4

我有以下代码:

<p><? echo $langdata['oneprodpage_brand']; ?>:</strong> <? echo $thisproduct['brandname']; ?></p>

它揭示了这一点:

品牌名称:{品牌名称}

如果没有给出品牌,则默认添加“无品牌”(所有数据都存储在数据库中)

我想做一些事情,比如如果 php 发现这个值“没有品牌”然后做 smthing ...

我怎样才能做到?

我试过这个

 <? if ($thisproduct['brandname'] == Without brand) { ?>
 <? } else { ?>
 <p><? echo $langdata['oneprodpage_brand']; ?>:</strong> <? echo $thisproduct['brandname']; ?></p>
 <? }; ?>

但它不起作用

4

2 回答 2

2

您忘记了一些没有品牌的报价,您的代码将是:

<? if ($thisproduct['brandname'] == "Without brand") { ?>
 <? } else { ?>
 <p><? echo $langdata['oneprodpage_brand']; ?>:</strong> <? echo $thisproduct['brandname']; ?></p>
 <? }; ?>

您想要在无品牌时执行的代码应该在后面:

<? if ($thisproduct['brandname'] == "Without brand") { ?>

之前:

<? } else { ?>

但是 imo 它真的不是你的可读方式,我更喜欢:

<?php
    if ($thisproduct['brandname'] == "Without brand") {
        // Do something
    } else {
        echo "<p>". $langdata['oneprodpage_brand'] ."</strong>". $thisproduct['brandname'] ."</p>";
    }
?>
于 2013-01-04T14:04:16.500 回答
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 - 但这似乎是必要的。

于 2013-01-04T14:08:22.763 回答