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

次のコードの実行結果として正しいものはどれか。 ```php $fruits = ["apple" => 100, "banana" => 50, "cherry" => 300]; arsort($fruits); print implode(",", array_keys($fruits)); ```

apple,banana,cherry
cherry,apple,banana 正解
banana,apple,cherry
cherry,banana,apple
解説
`arsort()`は連想配列を「値」の降順にソートしつつ、キーと値の対応関係を保持する関数です。`$fruits`の値は`cherry(300) > apple(100) > banana(50)`の順なので、ソート後の順序(=キーの並び)は`cherry, apple, banana`になります。 例: ``` $fruits = ["apple" => 100, "banana" => 50, "cherry" => 300]; arsort($fruits); print implode(",", array_keys($fruits)); // cherry,apple,banana print_r($fruits); // ['cherry'=>300, 'apple'=>100, 'banana'=>50] ``` `sort()`系関数の使い分け: `asort()`/`arsort()`は値でソートしキー保持、`ksort()`/`krsort()`はキーでソート、`sort()`/`rsort()`は値でソートしキーを振り直します。 (参照: 独習PHP 第4版 第5章 組み込み関数 5.3.10節 sort関数 p.203〜204)