本文へスキップ
BecomeCoder

PHPコース · 第3章 配列と連想配列 · レッスン12

配列の関数 ― 並べ替え・検索・集計

ブラウザで完結

導入

配列は「作って取り出す」だけではありません。並べ替える、探す、合計する――こうした定番の操作は、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 の数字を書き換えて、合計・最大・最小・並べ替えの結果がどう変わるか確かめましょう。sortrsort(大きい順)に変えるとどうなるかも試してみてください。

演習

点数の配列 $scores = [72, 88, 65, 91, 50] について、合計最高点平均を表示してください。

ヒント1を見る

合計は array_sum($scores)、最高点は max($scores)

ヒント2を見る

平均は 合計 ÷ 要素数。array_sum($scores) / count($scores) で求められます。

実際に動かしてみよう

下のエディタにPHPを書いて「実行」を押すと、ブラウザ内で動く本物のPHP(php-wasm)で出力が表示されます。コードは必ず <?php で書き始めます。本文の例をそのまま試したり、書き換えたりしてみましょう(初回だけPHPの読み込みに少し時間がかかります)。

PHP — ブラウザ内で実行

ブラウザ内で動く本物のPHP(php-wasm / PHP 8.4)を読み込みます(初回のみ読み込みに少し時間がかかります)。
スクロールして表示された時点でも自動で読み込まれます。