#37 PHPの学習 countを使おう

PHP プログラミング

PHPでは「count」という関数があります。これは配列の要素の数を返してくれます。簡単なので是非覚えておきましょう。

countは引数に配列名を指定します。また、第2引数に「COUNT_RECURSIVE」を指定すると多次元配列の要素すべてを返します。文章だけではよくわからないと思うので具体的に見ていきましょう。

配列の確認

  1. $color = array('赤', '青', '黄', '白');
  2. $food = array(
  3.     '麺' => 'うどん',
  4.     '肉' => '唐揚げ',
  5.     '魚' => '刺身'
  6. );
  7. $erea = array(
  8.     '九州' => [
  9.         '大分',
  10.         '福岡',
  11.         '長崎'
  12.     ],
  13.     '四国' => [
  14.         '愛媛',
  15.         '高知',
  16.         '徳島',
  17.         '香川'
  18.     ]
  19. );

このような配列があるとします。

この場合「count」で返すと以下のようになります。

count($変数名)

  1. echo count($color);
  2. // => 4
  3. echo count($food);
  4. // => 3
  5. echo count($erea);
  6. // => 2

colorは「赤」「青」「黄」「白」の4を返しましたが、foodとereaはそれぞれ、「麺」「肉」「魚」の3と、「九州」「四国」の2を返したのです。つまり、連想配列などはキーの数を返します。

count($変数名[キー名])

  1. echo count($erea['四国']);
  2. // => 4

キー名を指定してあげるとその中身の数を返してくれます。つまり、「愛媛」「高知」「徳島」「香川」の4です。

count($変数名, COUNT_RECURSIVE)

  1. echo count($color, COUNT_RECURSIVE);
  2. // => 4
  3. echo count($food, COUNT_RECURSIVE);
  4. // => 3
  5. echo count($erea, COUNT_RECURSIVE);
  6. // => 9

この場合は$ereaの第一要素、第二要素の全てを返しています。なので9となるのです。

違いがわかりましたでしょうか?

よく使う関数なのでマスターしましょう!

関連記事
文字の長さを把握しようPHP

コメント