这行不通吗?还是我做错了?尝试了多种形式,似乎找不到关于该主题的任何可靠信息。有任何想法吗?
$given_id = 1; while ($row = mysql_fetch_array($sql)) { if ($i < 10){ $display = '<a href="' . $row['info'] . '" onMouseOver="' . if($row['type']=="battle"){ . 'showB' . } else { . 'showA'() . "><div class="' . $row['type'] . "_alert" . '" style="float:left; margin-left:-22px;" id="' . $given_id . '"></div></a>';
如果是一个自我陈述。这就像一个完整的声明。因此,不能在字符串左右连接之间使用它。更好的解决方案是使用速记三元运算符
(conditional expression)?(ouput if true):(output if false);
也可以在字符串连接中使用。范例:
$i = 1 ; $result = 'The given number is'.($i > 1 ? 'greater than one': 'less than one').'. So this is how we cuse ternary inside concatenation of strings';
您还可以使用嵌套三元运算符:
$i = 0 ; $j = 1 ; $k = 2 ; $result = 'Greater One is'. $i > $j ? ( $i > $k ? 'i' : 'k' ) : ( $j > $k ? 'j' :'k' ).'.';