【PHP8.x】COUNT_NORMAL定数の使い方
COUNT_NORMAL定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
COUNT_NORMAL定数は、PHPの組み込み定数の一つで、主に配列やオブジェクトの要素数を数えるcount()関数で使用されるモードを表す定数です。
この定数は、count()関数の第2引数に渡すことで、配列の要素を「通常の方法」で数えることを明示的に指定します。具体的には、対象となる配列の最上位の要素のみを数え上げ、配列内にさらに別の配列(多次元配列)が含まれている場合でも、その内部の要素は個別に数えません。多次元配列であっても、外側の配列の1つの要素としてカウントされるだけです。
これはcount()関数のデフォルトの挙動であり、第2引数を省略した場合と同じ結果をもたらします。例えば、$array = ['a', 'b', ['c', 'd']];という配列があった場合、count($array, COUNT_NORMAL)と実行すると、結果は3となります。これは、'a'、'b'、そして['c', 'd']という3つの要素が存在するためです。
COUNT_NORMALは、ネストされた配列のすべての要素を再帰的に数え上げるCOUNT_RECURSIVE定数と対をなすものであり、配列の深さを考慮せず、表層的な要素数を知りたい場合に利用されます。プログラムの意図を明確にするために、明示的に指定することが推奨される場合があります。
構文(syntax)
1<?php 2 3$array = [1, 2, 3, [4, 5]]; 4echo count($array, COUNT_NORMAL); 5 6?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
COUNT_NORMALは、配列やTraversableオブジェクトの要素数をカウントする際に、再帰的にカウントしないことを指定するための定数です。この定数が指定された場合、配列やTraversableオブジェクトの直下の要素数のみが返されます。