第5章 組み込み関数 / 第4回 模擬試験

PHPの`array_slice()`関数に関する次の記述のうち、正しいものはどれか。

`array_slice()`は配列から指定した範囲の要素を取り出し、新しい配列として返す。 正解
`array_slice()`は元の配列から要素を削除し、元の配列自体を変更する。
`array_slice()`は配列を結合する関数である。
`array_slice()`はマイナスの開始位置を指定できない。
解説
`array_slice($array, $offset, $length)`は、元の配列を変更せず、指定した範囲(`$offset`から`$length`個、または`$length`省略時は末尾まで)の要素を取り出した「新しい配列」を返す関数です。 他の選択肢が誤りである理由は次の通りです。 ・元の配列自体を変更する(要素を削除する)関数は`array_splice()`です。`array_slice()`は非破壊的で、元の配列はそのまま残ります。 ・配列を結合する関数は`array_merge()`や`+`演算子です。 ・`$offset`にマイナスの値を指定すると、配列の「末尾」から数えた位置を開始位置にできます(例: `-2`なら末尾から2番目の要素から)。 例: ``` $fruits = ['apple', 'banana', 'cherry', 'date']; print_r(array_slice($fruits, 1, 2)); // ['banana', 'cherry'] print_r(array_slice($fruits, -2)); // ['cherry', 'date'] print_r($fruits); // 元の配列は変わらない ``` (参照: 独習PHP 第4版 第5章 組み込み関数 5.3.7節 array_slice関数 p.199〜200)