## 配列の要素数を取得・カウント(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
関数でできます。