第3章 演算子 / 第4回 模擬試験
PHPの三項演算子・null合体演算子に関する次の記述のうち、正しいものはどれか。
null合体演算子`??`は、左辺が`null`の場合に右辺の値を返す。
正解
三項演算子`?:`は、必ず3つの異なる値を返さなければならない。
null合体演算子`??`は、PHPでは使用できない。
`??`は、左辺が`0`や空文字列の場合にも右辺の値を返す。
解説
null合体演算子`??`は左辺が未定義または`null`の場合に右辺を返します(`isset()`相当のチェック)。`0`や`""`は`null`ではないため、その場合は左辺の値がそのまま使われます。(参照: 独習PHP 第4版 第3章 演算子 3.3.5節 条件演算子 p.106〜109)
関連する問題
- 次のコードの【 A 】に入れた場合に`true`が返される組み合わせとして正しいものはどれか。 ```php if (【 A 】) { print("true"); } else { print("false"); } 【1】"php" > "perl" 【2】0 != "0" 【3】5 - 6 + 1 【4】"false" 【5】0 + false 【6】"543a" < 56 【7】abs(-6) > 10 / 2 ```
- 次のコードの実行結果として正しいものはどれか。 ```php $a = 2 + 3 * 6; $b = $a % 7; $c = $b ** 2; print($c); ```
- PHPの論理演算子に関する次の記述のうち、正しいものはどれか。
- PHPの論理演算子に関する次の記述のうち、誤っているものはどれか。
- 次のコードの実行結果として正しいものはどれか。 ```php $a = 10; $b = 3; print $a / $b . " " . intdiv($a, $b) . " " . $a % $b; ```