第3章 演算子 / 第1回 模擬試験
次のコードの実行結果として正しいものはどれか。 ```php $a = 2 + 3 * 6; $b = $a % 7; $c = $b ** 2; print($c); ```
4
8
12
36
正解
解説
PHPの演算子には優先順位があり、`*`(乗算)は`+`(加算)より優先されるため、まず`3 * 6 = 18`を計算してから`2 + 18 = 20`となります。続けて`%`(剰余)と`**`(べき乗)を順に計算します。
・`$a = 2 + 3 * 6;` → `$a = 20`
・`$b = $a % 7;` → `20 % 7 = 6`
・`$c = $b ** 2;` → `6 ** 2 = 36`
例:
```
$a = 2 + 3 * 6;
$b = $a % 7;
$c = $b ** 2;
echo $c; // 36
```
`**`(べき乗)は算術演算子の中でも特に優先順位が高く、単項マイナスより先に評価される点(`-2 ** 2`は`-4`になる)も合わせて押さえておくとよいでしょう。
(参照: 独習PHP 第4版 第3章 演算子 3.1節 代数演算子 / 3.7節 演算子の優先順位 p.88〜119)
関連する問題
- 次のコードの【 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の論理演算子に関する次の記述のうち、正しいものはどれか。
- PHPの論理演算子に関する次の記述のうち、誤っているものはどれか。
- 次のコードの実行結果として正しいものはどれか。 ```php $a = 10; $b = 3; print $a / $b . " " . intdiv($a, $b) . " " . $a % $b; ```
- PHPの比較演算子に関する次の記述のうち、正しいものはどれか。