SYNCER

SYNCER

count() - 配列の要素数を取得する

公開日:

countは、指定した配列の要素数を返す関数です。

構文

int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] )

パラメータ

$array_or_countable

配列、またはオブジェクト。

$mode

初期値: COUNT_NORMAL

COUNT_RECURSIVEを指定すると、多次元配列の場合、深い階層の要素も再帰的にカウントする。

COUNT_NORMAL
一次元の要素のみをカウントする。
COUNT_RECURSIVE
再帰的に配列をカウントする。

返り値

int

変数の名前をキー、値を値にした連想配列。

サンプルコード

要素の数を数える

配列に含まれる要素の数を取得します。

php

<?php
	// 配列
	$queue = [ "a", "b", "c", "d", "e" ] ;

	// 実行
	$result = count( $queue ) ;

	// 返り値
	var_dump( $result ) ;

結果 (出力内容) - PHP7.0.21

int(5)

多次元配列は考慮されない

デフォルトだと、多次元配列の場合、一次元の要素のみがカウントされます。

php

<?php
	// 配列
	$queue = [
		"a" => 1 ,
		"b" => [ "A", "B", "C" ] ,
	] ;

	// 実行
	$result = count( $queue ) ;

	// 返り値
	var_dump( $result ) ;

結果 (出力内容) - PHP7.0.21

int(2)

多次元配列を考慮する

第2引数にCOUNT_RECURSIVEを指定した場合、深い階層の配列の要素も再帰的にカウントされます。下記の場合は"a""b"、そして"b"の値である配列の3つの要素がカウントされて、結果は5になります。

php

<?php
	// 配列
	$queue = [
		"a" => 1 ,
		"b" => [ "A", "B", "C" ] ,
	] ;

	// 実行
	$result = count( $queue, COUNT_RECURSIVE ) ;

	// 返り値
	var_dump( $result ) ;

結果 (出力内容) - PHP7.0.21

int(5)

サンドボックス

ソースコードを編集してcount()の挙動を確認して下さい。

int(5)

参考リンク

  • PHP - 公式マニュアル。