count
| 解説 | 配列の要素数を数える |
|---|---|
| 書式 | int count( mixed var [, int mode ] ) |
int count( mixed 配列 [, int モード ] ) |
|
| 引数 |
var
配列
|
mode
再帰的にカウントするかどうかのモード
|
|
| 返値 | 配列の要素数 |
count()は指定した配列の要素数を数える関数です。
配列の要素数を返します。指定した変数が配列でない場合は1を返します。
var配列要素数を知りたい変数(配列)を指定します。
modeモード配列を再帰的にカウントするかどうかのオプション引数です。このモードをCOUNT_RECURSIVE(または1)にセットした場合は再帰的にカウントします。デフォルトでは0(再帰的にカウントしない)に設定されています。
第2引数のmodeはPHP4.2.0で追加されました。
※count()は、キー(添え字)の最大値を返すわけではなく、要素の数を返しますので注意して下さい。
サンプルスクリプト
簡単な利用例
- $a[] = "10";
- $a[] = "25";
- $a[] = "8";
- print count( $a ); // 配列の要素数を出力
出力結果
3
要素数を返す
- $arr[5] = "28";
- $arr[20] = "15";
- $arr[50] = "6";
- // キーの最大値ではなく要素数を返す
- print count( $arr );
出力結果
3
COUNT_RECURSIVEサンプル
- $food["fruits"][] = "りんご";
- $food["fruits"][] = "オレンジ";
- $food["fruits"][] = "バナナ";
- $food["vegetable"][] = "トマト";
- $food["vegetable"][] = "なす";
- $food["vegetable"][] = "にんじん";
- echo "通常のカウント:".count( $food )."<br />\n";
- echo "再帰的カウント:".count( $food, COUNT_RECURSIVE );
出力結果
通常のカウント:2
再帰的カウント:8
再帰的カウント:8
for文で配列をすべて出力
- $animal[] = "犬";
- $animal[] = "猫";
- $animal[] = "鹿";
- // 配列の値を改行しながらすべて出力
- for( $i = 0; $i < count( $animal ); $i++ ){
- echo $animal[$i]."<br />\n";
- }
出力結果
犬
猫
鹿
猫
鹿
※for文は配列のキーが連続で隙間なく埋まっている場合にのみ使えます。そうでない場合はforeach文を使って下さい。
引数の状態による返り値の違い
- print "未定義の変数の場合:".count( $未定義の変数 )."<br />\n";
- print "未定義の配列の場合:".count( array() )."<br />\n";
- print "文字列の場合:".count( "文字列" );
出力結果
未定義の変数の場合:0
未定義の配列の場合:0
文字列の場合:1
未定義の配列の場合:0
文字列の場合:1





