array()による配列生成
そふぃのPHP入門 >> PHP言語リファレンス >> PHPの配列 >> array()による配列生成

array()による配列生成

array()関数

array()関数はPHPにあらかじめ定義されている関数です。関数とは「ある特定の処理をまとめたもの」なのですが、このarray()関数の場合は配列を定義する役割を持ちます。

array()を使えば配列の定義が簡単にできるようになりますので紹介します。

関数の括弧「 () 」の中に要素の値を順番に指定していきます。複数指定する場合(配列なので普通は複数)はカンマ「,」で区切ります。

配列

まずは普通の配列の指定方法です。

  1. <?php
  2. $fruit = array("apple", "orange", "grape");
  3. ?>

array()関数は括弧「 () 」内の左から順にキー(添え字)が振られていきます。これは以下のように書くのと同じです。

  1. <?php
  2. $fruit[] = "apple";
  3. $fruit[] = "orange";
  4. $fruit[] = "grape";
  5. ?>

出力結果つきのサンプルです。

  1. <?php
  2. $fruit = array("apple", "orange", "grape");
  3. echo $fruit[0];
  4. ?>

出力結果

apple

連想配列

連想配列や自分でキーを割り振りたい場合には「 => 」という記号を使います。

  1. <?php
  2. $fruit = array(
  3.   "apple" => "りんご",
  4.   "orange" => "オレンジ",
  5.   "grape" => "ぶどう",
  6. );
  7. ?>

改行しているのは見やすくするためです。必要なければ1行で書いても構いません。

上記の例は以下のように書くのと同じです。

  1. <?php
  2. $fruit["apple"] = "りんご";
  3. $fruit["orange"] = "オレンジ";
  4. $fruit["grape"] = "ぶどう";
  5. ?>

多次元配列

多次元配列を作成したい場合はarray()関数をネスト(入れ子)します。

ややこしいですが、実際にサンプルを見た方が分かりやすいです。

  1. <?php
  2. $food = array(
  3.   "vegetable" => array(
  4.                    "carrot" => "にんじん",
  5.                    "tomato" => "トマト",
  6.                    "onion" => "たまねぎ"
  7.                  ), //カンマ「,」で区切る
  8.   "fruit" => array(
  9.                    "apple" => "りんご",
  10.                    "orange" => "オレンジ",
  11.                    "grape" => "ぶどう"
  12.                  )
  13. ); //終了のセミコロン「;」
  14. ?>

これは以下のように書くのと同様です。

  1. <?php
  2. $food["vegetable"]["carrot"] = "にんじん";
  3. $food["vegetable"]["tomato"] = "トマト";
  4. $food["vegetable"]["onion"] = "たまねぎ";
  5.  
  6. $food["fruit"]["apple"] = "りんご";
  7. $food["fruit"]["orange"] = "オレンジ";
  8. $food["fruit"]["grape"] = "ぶどう";
  9. ?>