-4

次のコードがあります。

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

これは次のことを示しています。

ブランド名: {ブランド名}

ブランドが指定されていない場合、デフォルトで「ブランドなし」が追加されます(すべてのデータはDBに保存されます)

PHPがこの値を「ブランドなし」で見つけた場合のようなことをしたいのですが、何かをしたいです...

どうすれば作れますか?

私はこれを試しました

 <? 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 { ?>

しかし、それはあなたのやり方では実際にはそれほど読みにくいです、私は好むでしょう:

<?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 に答える