PHPのcountについて説明します。
countとは?
要素数を返す
countは、変数に含まれるすべての要素、 あるいはオブジェクトに含まれる何かの数を数える。
平たく言うと、配列やオブジェクトに含まれる要素数を数える関数のこと。
分類:関数 > 配列関数
使い方
書式
count(変数名[, COUNT_RECURSIVE]);
引数:
– 第一引数(必須):配列 or オブジェクト
– 第二引数(任意):COUNT_NORMAL or COUNT_RECURSIVE
戻り値:配列orオブジェクト の要素数
第二引数について
第二引数は任意に指定でき、定数「COUNT_RECURSIVE」を指定すると多次元配列の下の層の要素数込みで返すようになる。
デフォルトでは多次元配列を対象にしたとき、第一階層の要素数しか返さない。
デフォルトでは定数「COUNT_NORMAL」が指定されている(=指定しても評価結果は変わらない)。
一例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<?php $characters = ['アーデン', 'Aranea', 'ルナフレーナ', 'ノクティス']; // 通常配列 $ardyn = ['弟' => 'ソムヌス', '恋人' => 'エイラ', '声優' => '藤原啓治', '手駒' => 'イフリート', '年齢' => '推定2000歳']; // 連想配列 $subCharacters = [ ['アラネア', 40, '沢城みゆき'], ['ルナフレーナ', 34, '北川里奈'], ['ノクティス', 30, '鈴木達央'] ]; $latestFinalFantasyNumber = 15; // int $pi = 3.14; // float $mainCharacter = 'アーデン・ルシス・チェラム'; // String $isMan = true; // boolean echo "■ 引数:配列 <br>", PHP_EOL; echo count($characters), "<br>", PHP_EOL; echo count($ardyn), "<br>", PHP_EOL; echo count($subCharacters), "<br>", PHP_EOL; echo count($subCharacters, COUNT_NORMAL), "<br>", PHP_EOL; echo count($subCharacters, COUNT_RECURSIVE), "<br>", PHP_EOL; echo "■ 引数:スカラー型変数 <br>", PHP_EOL; echo count($latestFinalFantasyNumber), "<br>", PHP_EOL; echo count($pi), "<br>", PHP_EOL; echo count($mainCharacter), "<br>", PHP_EOL; echo count($isMan), "<br>", PHP_EOL; |
実行結果
1 2 3 4 5 6 7 8 9 10 11 |
■ 引数:配列 4 5 3 3 12 ■ 引数:スカラー型変数 1 1 1 1 |
用途例
エラーハンドリング時
一例として、エラーハンドリング時などに使える。
Laravel込みで実務的な話をすると、リクエストパラメータを受け取り、リクエストパラメータに紐付くデータをDBから取得、取得結果を詰め込んだ配列(やオブジェクト)に、値があったか?(紐付くデータがあったか?)を確認するとき等に使ったりした。
count関数使って戻り値が0なら、紐付くデータが取れなかった場合の後続処理(例えばResourceクラスでのエラーコードやエラーメッセージ等の設定)、0でなければ紐付くデータが取れた場合の後続処理(例えばResourceクラスでの返却jsonの作成)に繋げたりする。
参照
独習PHP
公式
PHPを効率的に学習したい場合
スクールを活用するのも有効

PHPを効率的に学習したい場合、スクールを活用するのも有効です。
転職を視野に入れている方、将来に向けて学習を進めている学生の方など、良かったら説明を聴いてみてはいかがでしょうか(説明会の参加は無料です)。
他のスクールについては下記の記事にまとめてあります。他のスクールについても視野に入れたい場合、参考になるかと思います。
