第3章 演算子 / 第2回 模擬試験
次のコードの実行結果として正しいものはどれか。 ```php $a = 10; $b = 3; print $a / $b . " " . intdiv($a, $b) . " " . $a % $b; ```
3.333... 3 1
正解
3 3 1
3.333... 3.333... 1
3 3 3.333...
解説
それぞれの演算子の役割を確認します。
・`/`(除算)は常に正確な商を返すため、割り切れない場合は浮動小数点数になります。`10 / 3`は`3.3333333333333`のような`float`値です。
・`intdiv($a, $b)`は整数除算を行い、小数点以下を切り捨てた整数の商を返します。`intdiv(10, 3)`は`3`。
・`%`(剰余演算子)は割り算の余りを返します。`10 % 3`は`1`。
例:
```
$a = 10; $b = 3;
echo $a / $b; // 3.3333333333333
echo intdiv($a, $b); // 3
echo $a % $b; // 1
```
`/`は常に正確な計算結果(割り切れれば`int`、割り切れなければ`float`)を返す点が、切り捨てを行う`intdiv()`との違いです。
(参照: 独習PHP 第4版 第3章 演算子 3.1節 代数演算子 p.88〜93)
関連する問題
- 次のコードの【 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の比較演算子に関する次の記述のうち、正しいものはどれか。