0

次の三項演算子があります。

<?php (strcmp($activetab,'profile') == 0 ? echo "active" : '');  ?>

残念ながら、期待どおりに機能していません。active条件が true の場合はエコーされ、それ以外の場合は何も表示されないことを願っています。

私は何を間違っていますか?

4

3 に答える 3

5

今すぐやってみて下さい

<?php echo (strcmp($activetab,'profile') == 0) ?  "active" : '';  ?>
于 2013-04-18T12:23:27.763 に答える
3

$comp ? $a : $b構文は、単なる省略形ではありません

if ( $comp ) { $a; } else { $b }

それは実際には次のようなものです:

function ($comp, $a, $b) { if ( $comp ) { return $a; } else { return $b; } }

だから実際に試してみてくださいecho (strcmp($activetab,'profile') == 0 ? "active" : '');

于 2013-04-18T12:38:38.497 に答える
1

次のようにコードを変更するだけです。

<?php echo (strcmp($activetab,'profile') == 0 ?  "active" : '');  ?>
于 2013-04-18T12:23:41.863 に答える