導入
配列は「作って取り出す」だけではありません。並べ替える、探す、合計する――こうした定番の操作は、PHP が便利な関数として最初から用意してくれています。
説明
よく使う配列関数を見てみましょう。
<?php
$nums = [30, 10, 50, 20];
echo count($nums), "個\n"; // 4個(要素数)
echo array_sum($nums), "\n"; // 110(合計)
echo max($nums), " ", min($nums), "\n"; // 50 10(最大・最小)
sort($nums); // 小さい順に並べ替える(元の配列が変わる)
echo implode(", ", $nums), "\n"; // 10, 20, 30, 50
implode(区切り文字, 配列) は、配列を1つの文字列につなげる関数です(10, 20, 30, 50 のように表示できます)。逆に文字列を配列に分ける explode は次の章で使います。
要素が含まれるかを調べるには in_array、キーが在るかは array_key_exists を使います。
<?php
$members = ["佐藤", "鈴木", "高橋"];
if (in_array("鈴木", $members)) {
echo "鈴木さんは参加者です\n";
}
$members[] = "田中"; // 末尾に追加
array_unshift($members, "先頭さん"); // 先頭に追加
echo implode("・", $members), "\n";
やってみよう
$nums の数字を書き換えて、合計・最大・最小・並べ替えの結果がどう変わるか確かめましょう。sort を rsort(大きい順)に変えるとどうなるかも試してみてください。
演習
点数の配列 $scores = [72, 88, 65, 91, 50] について、合計・最高点・平均を表示してください。
ヒント1を見る
合計は array_sum($scores)、最高点は max($scores)。
ヒント2を見る
平均は 合計 ÷ 要素数。array_sum($scores) / count($scores) で求められます。