count関数の使い方(配列に含まれる項目数を取得する)

PHP で用意されている組み込み関数の一つである count 関数の使い方です。 count 関数は配列の中に現在含まれる項目数を取得します。

(2022 年 09 月 28 日公開 / 2022 年 09 月 28 日更新)

count関数の書式と基本的な使い方

count 関数は次のように定義されています。

count
int count(mixed var [, int mode])
引数に指定した配列に含まれる項目数を返します。他の配列が項目として
含まれていたとしても、1つとしてカウントされます。
項目として配列が含まれていた場合に、含まれている配列の個数も計算す
る場合には、引数の mode に COUNT_RECURSIVE を指定します。

引数:
  var  対象となる配列
  mode  再帰的に配列をカウントする場合はCOUNT_RECURSIVE。デフォルト
    は 0 が設定されている
返り値:
  配列に含まれる項目数

配列の中に項目として配列が含まれていた場合の処理は下記の通りです。

$array_fruit = array('りんご', 'メロン', 'トマト');
$array_food = array('野菜', '魚', $array_fruit);

上記のような配列があった場合、「count($array_food);」は「3」を返します。「count($array_food, COUNT_RECURSIVE);」の場合は3番目に項目として含まれている配列の項目数をカウントして「6」を返します。「5」を返すわけではない点に注意して下さい。配列の項目も「1」としてカウントした後で、配列が含まれている場合はその配列に含まれる個数を加えるという挙動をします。

サンプルコード

では実際に試してみます。

<html>
<head><title>PHP TEST</title></head>
<body>

<?php

$array_fruit = array('りんご', 'メロン', 'トマト');
$array_food = array('野菜', '魚', $array_fruit);

$count1 = count($array_food);
$count2 = count($array_food, COUNT_RECURSIVE);

print('配列に含まれる項目数は'.$count1.'です<br>');
print('再帰的に数えた場合、項目数は'.$count2.'です<br>');

?>
</body>
</html>

上記のファイルを Web サーバに設置しブラウザ経由で見ると下記のように表示されます。

countのテスト

-- --

PHP で用意されている組み込み関数の一つである count 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。