この記事では、
配列の合計を求めるarray_sum、
配列に特定の値があるか調べるarray_search、
配列の要素数を数えるcount、
を順番に説明します。
array_sum関数
array_sum関数は、数値型の要素のみが中に入っている、
単純な配列に対して適用する関数です。
配列内のすべての数を足し合わせた合計を返します。
<?php $arr=[1,2,3,4,5]; echo array_sum($arr); ?>
連想配列
連想配列の場合は、
値のみが加算されます。
以下の例では、配列のキーでなく、
値のみが加算され、
15が表示されていますね。
<?php
$arr=[
"a" => 1,
"b" => 2,
"c" => 3,
"d" => 4,
"e" => 5];
echo array_sum($arr);
?>
値に数値以外のものがある配列
数値以外の値は無視されます。
以下の例では、配列の最初の要素の値”a”は無視され、
数値のみが加算され、14が表示されていますね。
<?php $arr=["a",2,3,4,5]; echo array_sum($arr); ?>
実用例
フォームで、合計値を表示する場合に使います。
入力画面
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>参加者内訳</title>
</head>
<body>
<form action="./Sample_array_sum_result.php" method="post">
<div>
<label for="male">男性</label>
<input type="number" name="male" id="male" min="0" max="100" step="1"><span>%</span>
</div>
<div>
<label for="female">女性</label>
<input type="number" name="female" id="female" min="0" max="100" step="1"><span>%</span>
</div>
<div>
<label for="other">その他</label>
<input type="number" name="other" id="other" min="0" max="100" step="1"><span>%</span>
</div>
<button type="submit" class="btn btn-primary">提出</button>
</form>
</body>
</html>
結果画面
<?php
$total = [
"male" => $_POST["male"],
"female" => $_POST["female"],
"other" => $_POST["other"]
];
echo "男性".$_POST["male"]."%<br>\n";
echo "女性".$_POST["female"]."%<br>\n";
echo "その他".$_POST["other"]."%<br>\n";
$total_sum = array_sum($total);
echo "合計".$total_sum."%<br>\n";
if($total_sum !== 100){
echo "合計が100パーセントになっていません<br>\n";
}else{
echo "合計が100パーセントです<br>\n";
}
?>
array_search関数
配列の中に特定の要素があるか調べる関数です。
<?php
$arr = ["jp" => "日本", "us" => "アメリカ", "br" => "ブラジル"];
$code = array_search("日本", $arr);
if ($code != false) {
echo "日本のコードは $code です。";
} else {
echo "日本のコードが見つかりません。";
}
?>
count関数
配列の要素数を調べる関数です。
再帰モードの時は、内部に入れ子になった
配列の要素数も、別個に集計します。
<?php $arr = [ 10, "hello", [1, 2, 3]];// 通常モード echo count($arr); echo "<hr>"; // 再帰モード echo count($arr, COUNT_RECURSIVE); ?>






