配列に含まれる項目数を取得する(count)

広告

配列の中に現在含まれる項目数を取得します。

引数に指定した配列に含まれる項目数を返します。他の配列が項目として
含まれていたとしても、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」としてカウントした後で、配列が含まれている場合はその配列に含まれる個数を加えるという挙動をします。

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

functest33.php

<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>

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

countのテスト

( Written by Tatsuo Ikura )