第5章 組み込み関数 / 第1回 模擬試験
PHPのその他の組み込み関数に関する次の記述のうち、誤っているものはどれか。
`unset()`関数は変数を破棄する。
`is_int()`関数は変数が整数型であるかを判定する。
`rand()`関数は、常に同じ乱数を生成する。
正解
`max()`関数は、複数の値の中から最大値を取得する。
解説
`rand()`関数は呼び出すたびに異なる(疑似)乱数を返す関数です。「常に同じ乱数を生成する」というのは誤りです。
他の選択肢が正しい理由は次の通りです。
・`unset()`は指定した変数を破棄し、以降その変数は未定義の状態になります。
・`is_int()`(エイリアス`is_integer()`, `is_long()`)は、変数の型が`int`かどうかを判定します。
・`max()`は引数として渡された複数の値、または配列の要素の中から最大値を返します。
例:
```
echo rand(1, 10); // 実行のたびに1〜10のいずれかがランダムに出力される
echo max(3, 7, 5); // 7
```
同じ乱数列を再現したい場合(テストなど)は、`mt_srand()`でシード値を固定します。
(参照: 独習PHP 第4版 第5章 組み込み関数 5.6節 その他の関数 p.252〜254)