配列の長さを調べるPHP関数

WBOY
リリース: 2023-05-19 18:31:38
オリジナル
836 人が閲覧しました

PHP プログラミングでは、配列は値のセットを保存し、キーと値のペアを通じてその要素にアクセスできる非常に一般的なデータ構造です。配列を操作するプロセスでは、統計、演算、出力を容易にするために配列の長さ (つまり、配列内の要素の数) を取得する必要があることがよくあります。では、PHP で配列の長さを調べるにはどうすればよいでしょうか?

実は、PHP には配列の長さを取得するメソッドが 2 つ用意されているので、以下でこれら 2 つのメソッドを順番に紹介します。

方法 1: count() 関数

count() 関数は、配列内の要素の数を取得するために使用される PHP 組み込み関数です。その基本的な使用形式は次のとおりです:

int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] )
ログイン後にコピー

このうち、$array_or_countable パラメータはカウントする配列またはカウント可能なオブジェクトを表し、$mode パラメータはオプションのカウント モードを表します。

たとえば、5 つの要素を含む配列がある場合、コードは次のとおりです:

$fruit = array("apple","banana","orange","watermelon","peach");
ログイン後にコピー
ログイン後にコピー

count() 関数を使用して配列の要素数を取得し、出力します。上の画面へのコードは次のとおりです。

echo count($fruit); // 输出 5
ログイン後にコピー

count() 関数は、デフォルトで、ネストされた配列や配列内の空の要素を含む各配列要素をカウントすることに注意してください。そのため、場合によっては期待どおりの集計結果が得られない場合があります。

たとえば、1 つの要素の値が空である多次元配列があるとします。コードは次のとおりです:

$students = array(
  "John" => array("age"=>20,"gender"=>"male"),
  "Alice" => array("age"=>21,"gender"=>"female","major"=>"Math"),
  "Bob" => array()
);
ログイン後にコピー

count() 関数を使用して、要素の数を取得します。

echo count($students); // 输出 3
ログイン後にコピー

ご覧のとおり、配列内の要素の数は 3 であり、予想した 4 ではありません。これは、count() 関数がネストされた配列もカウントし、空の配列も 1 つの要素としてカウントするためです。したがって、実際の状況に応じて count() 関数の使用を選択する必要があります。

方法 2: sizeof() 関数

count() 関数に加えて、PHP には配列の長さを取得する別の関数、sizeof() 関数も用意されています。使い方は基本的に count() 関数と同じで、コードは次のとおりです:

int sizeof ( mixed $array [, int $mode = COUNT_NORMAL ] )
ログイン後にコピー

このうち、$array パラメータは配列長を取得するための配列を示し、$mode パラメータはオプションの配列を示します。カウントモードについてはここでは説明しません。

たとえば、5 つの要素を含む配列がある場合、コードは次のとおりです。

$fruit = array("apple","banana","orange","watermelon","peach");
ログイン後にコピー
ログイン後にコピー

sizeof() 関数を使用して配列の要素数を取得し、出力します。上記の画面へ コードは次のとおりです。

echo sizeof($fruit); // 输出 5
ログイン後にコピー

count() 関数と同様に、sizeof() 関数も空の要素や入れ子になった配列をカウントするため、使用する場合は注意が必要です。

count() 関数と sizeof() 関数は、配列内の要素の数を示す整数型の値を返すことに注意してください。配列が空の場合は 0 を返し、配列が配列でない場合は 1 を返します。

配列の長さを取得する方法は上記 2 つあり、開発者は実際の状況に応じて適切な方法を選択できます。

以上が配列の長さを調べるPHP関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート