PHP 配列の要素数を取得・カウント(count)する

## 配列の要素数を取得・カウント(count)する
配列の要素数を取得・カウント(count)するにはcount関数をつかいます。

count(配列名 モード)

配列名
要素数をカウントしたい配列を指定します。
モード
モードとはカウントする方法を指定します。
以下の2つのモードがあります。
COUNT_NORMAL(カウントノーマル)モード
– 一次元配列の要素数をカウントするときなどにつかいます。
– デフォルトのモードです。
– 省略した場合こちらが適用されます。
COUNT_RECURSIVE(カウントリカーシブ)モード
– 2次元配列の要素数をカウントするときなどにつかいます。
– 再帰的に配列をカウントします。

$kago = ['イチゴ', 'ミカン', 'モモ'];
$kazu1 = count($kago); // COUNT_NORMALを書かない
$kazu2 = count($kago, COUNT_NORMAL);
print ($kazu1); // 結果:3 print ($kazu2); // 結果:3

COUNT_NORMALと書かないとCOUNT_NORMALが指定されます。
count関数の引数に$kagoを指定することで要素数を取得しています。
## 2次元配列の全要素数を取得・カウント(count)する
2次元配列の全要素数を取得するときはcount関数のCOUNT_RECURSIVE(カウントリカーシブ)モードをつかいます。

$kago = [
	['イチゴ', 'ミカン', 'モモ'],
	['ナシ', 'リンゴ', 'バナナ'],
];
$kazu = count($kago, COUNT_RECURSIVE);
print ($kazu); // 結果:8

count関数の「COUNT_RECURSIVE(カウントリカーシブ)モード」で2次元配列の要素数を取得しています。
1次元目の配列の要素数の2と、2次元目の配列の要素数の6(3要素x2配列)を合計した8が取得されます。
## 2次元配列の2次元目の要素数だけを取得・カウント(count)する
2次元配列の2次元目の要素数だけを取得するには、2次元配列の全要素を取得したあとに1次元目の要素数を引きます。

$kago = [
	['イチゴ', 'ミカン', 'モモ'],
	['ナシ', 'リンゴ', 'バナナ'],
];
$kazuAll = count($kago, COUNT_RECURSIVE);
$kazu1 = count($kago);
$kazu2 = $kazuAll - $kazu1;
print ($kazu2); // 結果:6

2次元配列の全要素数の8を取得します。
2次元配列の1次元目の要素数の2を取得します。
2次元配列の全要素数から1次元目の要素数を引きます。
2次元目の要素数の6が取得できました。
### COUNT_NORMALモードでは2次元配列の全ての要素数が取得できない
count関数のデフォルトのCOUNT_NORMAL(カウントノーマル)モード」では、2次元配列の1次元目の要素数しか取得できません。

$kago = [
	['イチゴ', 'ミカン', 'モモ'],
	['ナシ', 'リンゴ', 'バナナ'],
];
$kazu1 = count($kago); // COUNT_NORMALを書かない
$kazu2 = count($kago, COUNT_NORMAL);
print ($kazu1); // 結果:2 print ($kazu2); // 結果:2

count関数の「COUNT_NORMAL(カウントノーマル)モード」で配列の要素数を取得しています。
1次元目の要素数の2が取得されます。
## まとめ
– 配列の要素数を取得・カウント(count)するにはcount関数でできます。