count
Home >> PHP関数リファレンス >> 配列関数 >> count

count

解説 配列の要素数を数える
書式 int count( mixed var [, int mode ] )
int count( mixed 配列 [, int モード ] )
引数 var 配列
mode 再帰的にカウントするかどうかのモード
返値 配列の要素数

PHPマニュアル:count count()

count()関数:概略解説

count()は、指定した配列の要素数を数える関数です。

count()関数:返り値解説

配列の要素数を返します。指定した変数が配列でない場合は1を返します。

count()関数:引数解説

var 配列

要素数を知りたい変数(配列)を指定します。

mode モード

配列を再帰的にカウントするかどうかのオプション引数です。このモードをCOUNT_RECURSIVE(または1)にセットした場合は再帰的にカウントします。デフォルトでは0(再帰的にカウントしない)に設定されています。

count()関数:補足解説

第2引数のmodeはPHP4.2.0で追加されました。

count()関数:注意

count()は、キー(添え字)の最大値を返すわけではなく、要素の数を返しますので注意して下さい。

サンプル要素数を返す

参考関数

  • array() ---- 配列を生成する
  • sizeof() ---- count()関数のエイリアス
  • isset() ---- 変数がセットされているどうか調べる

サンプルスクリプト

簡単な利用例

<?php
$a
[] = "10";
$a[] = "25";
$a[] = "8";
print
count( $a ); // 配列の要素数を出力
?>

出力結果

3

要素数を返す

<?php
$arr
[5] = "28";
$arr[20] = "15";
$arr[50] = "6";

// キーの最大値ではなく要素数を返す
print count( $arr );
?>

出力結果

3

COUNT_RECURSIVEサンプル

<?php
$food
["fruits"][] = "りんご";
$food["fruits"][] = "オレンジ";
$food["fruits"][] = "バナナ";
$food["vegetable"][] = "トマト";
$food["vegetable"][] = "なす";
$food["vegetable"][] = "にんじん";

echo
"通常のカウント:".count( $food )."<br />\n";
echo
"再帰的カウント:".count( $food, COUNT_RECURSIVE );
?>

出力結果

通常のカウント:2
再帰的カウント:8

for文で配列をすべて出力

<?php
$animal
[] = "犬";
$animal[] = "猫";
$animal[] = "鹿";

// 配列の値を改行しながらすべて出力
for( $i = 0; $i < count( $animal ); $i++ ){
    echo
$animal[$i]."<br />\n";
}
?>

出力結果



鹿

for文は配列のキーが連続で隙間なく埋まっている場合にのみ使えます。そうでない場合はforeach文を使って下さい。

引数の状態による返り値の違い

<?php
print "未定義の変数の場合:".count( $未定義の変数 )."<br />\n";
print
"未定義の配列の場合:".count( array() )."<br />\n";
print
"文字列の場合:".count( "文字列" );
?>

出力結果

未定義の変数の場合:0
未定義の配列の場合:0
文字列の場合:1