0

我有以下三元运算符:

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

不幸的是,它没有按预期工作。我希望如果条件为真,那active将得到回应,否则什么都没有。

我究竟做错了什么?

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 回答