串聯中的三元運算子用於動態顯示
嘗試在串聯中使用if 語句(如下例所示)可能是如下例所示)可能是徒勞的:
$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>';
解決方案:利用三元運算子
if 語句作為獨立語句,使其不適合在字串內插值。相反,三元運算子更適合此目的。它採用以下形式:
(conditional expression)?(output 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 can use 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' ).'.';
以上是如何使用三元運算子在字串連線中動態顯示?的詳細內容。更多資訊請關注PHP中文網其他相關文章!