column

ITコラム

mv13201

プログラミングノウハウ

2019.02.04

PHP【 配列 】count で要素数を取得

配列に格納されている個々のデータのことを配列の要素といいます。
今回は PHP の count 関数で配列の要素数を取得する方法について紹介したいと思います。

配列についてはこちらの記事もご参照下さい。

PHP【 配列 】複数の値を保持するデータ構造
PHP【 配列 】配列にデータを追加
PHP【 配列 】配列からデータを削除
PHP【 配列 】count で要素数を取得(本ページ)
PHP【 配列 】配列のソート
PHP【 連想配列 】キーでデータを特定
PHP【 多次元配列 】配列の中に配列
PHP【 配列 】配列内のデータ検索
PHP【 配列 】要素を比較
PHP【 配列 】配列の結合
PHP【 配列 】in_array で値の存在チェック
PHP【 配列 】array_map で一括処理
PHP【 配列 】キーを取得
PHP【 配列 】array_filter でフィルター
PHP【 配列 】array_column で同一キーの値を取得
PHP【 配列 】foreach でループ処理
PHP【 配列 】array_unique で重複した値を削除
PHP【 配列 】便利な関数

 
本サイトでは XAMPP( ザンプ )という開発環境を使用しています。
XAMPP のインストール方法や起動方法については以下の記事をご参照下さい。
PHP【 開発環境 】XAMPP インストール
PHP【 開発環境 】XAMPP の使い方

なお、未経験からITエンジニアへの就職に興味がある方や未経験からプログラミングを効率よく学びたいと考えている方は、就職率98.3%で受講料無料のプログラミングスクールプログラマカレッジもおすすめです。

最終更新日:2019年2月4日

1. count 関数

 
配列に格納されている個々のデータのことを配列の要素といいます。
PHP では count 関数を使用して配列の要素数を取得します。

count 関数は、 次のように記述して使用します。

count ( 配列 [, モード ] )

引数の内容は以下の通りです。

配列
対象となる配列を指定

モード
COUNT_RECURSIVE(or 1) を指定すると再帰的に要素数を取得
省略可

▲目次へ戻る

 

2. count 関数で配列の要素数を取得

 
count 関数で配列の要素数を取得してみます。

2-1. 通常カウント

下記のようなソースファイルを作成して ブラウザからアクセスすると、次のような表示になります。
( ソースファイルの作成方法についてはソースファイルを作成を、サーバの起動方法等についてはサーバを起動を、それぞれご参照下さい。)

<?php

  $name = array("青山", "井川", "植木", "江口", "大竹");

  echo count($name);

?>

PHP 配列 count 要素数を取得 プログラマカレッジ

配列 $name 内に個々のデータが 5 つ格納されているため、要素数の 5 が出力されます。
 

2-2. モード COUNT_RECURSIVE を指定

count 関数の第 2 引数にモード「 COUNT_RECURSIVE 」を指定すると、カウント対象の配列内に他の配列が格納されている場合等に 次のような違いが生じます。

<?php

  $name1 = array("加藤", "木内");
  $name2 = array("青山", "井川", "植木", "江口", "大竹", $name1);

  echo count($name2);
  echo "<br>";
  echo count($name2, COUNT_RECURSIVE);

?>

PHP 配列 count 要素数を取得 プログラマカレッジ

配列 $name2 に格納された 配列 $name1 は 配列自体が 1 つの要素となるので、第 2 引数にモード指定をしない場合は 要素数 6 が表示されます。

これに対して、第 2 引数にモード「 COUNT_RECURSIVE 」を指定すると、先ほどカウントされた要素数 6 に、1 つの要素である配列 $name1 内の個々のデータ数 2 が加算されて 8 が表示されます。

▲目次へ戻る

 

3. sizeof 関数

 
count 関数の代わりに sizeof 関数を使用しても 配列の要素数を取得することができます。

sizeof 関数は、内部で count 関数を呼び出して処理を行っており、count 関数のエイリアスと言われています。

記述方法や引数の内容についても count 関数と同様です。

sizeof ( 配列 [, モード ] )
配列
対象となる配列を指定

モード
COUNT_RECURSIVE(or 1) を指定すると再帰的に要素数を取得
省略可

▲目次へ戻る

無料説明会

SHARE

最新記事

無料説明会に参加してみる

INTERNOUS,inc. All rights reserved.

無料オンライン説明会へ