8

私は次のことをしようとしています:

<li <?PHP ($this->pageName == 'index' ? ?>class="current"<?PHP : '')?>><a href="">Home</a></li>

しかし、それは機能していません。

私が達成しようとしていることは可能ですか?もしそうなら、私は何を間違っていますか?


PHP を HTML に入れるのは難しくないことはわかっています (笑)。次のような方法で三項演算子を使用できるかどうかに興味がありました。

<?PHP if(1 == 1){?>
<p>Test</p>
<?PHP }?>
4

3 に答える 3

10

あなたが行ったことは、値「class = 'current'」のみを返します。適用するには、ECHO/PRINT を行う必要があります。

以下のコードは、正常に動作するはずです。

<li class="<?PHP echo ($this->pageName == 'index')? 'current': ''; ?>">
    <a href="#">Home</a>
</li>

ここで行ったのは、クラス属性をphpの外に配置して、物事を整理し、値がtrueと評価された場合、この場合「現在」の3進法によって返された値をECHOしたことです。

テスト目的で、比較する値を切り替える以下のコード行を試すことができます。

<li class="<?PHP echo ( 1 == 0 )? 'current': ''; ?>">
    <a href="#">Home</a>
</li>
于 2014-04-28T20:49:29.907 に答える
0
<li <?PHP ($this->pageName == 'index') ? ?> class="current" <?PHP : '' ?>><a href="">Home</a></li>

三項演算子のロジックは

if condition ? Yes/true : No/false ;

Yes/trueコード セグメントで何を置き換えますか?

于 2013-05-06T19:41:23.987 に答える