【これだけ】PHPの配列の構造【現役エンジニアが解説】
今回は、PHPの配列の構造について、配列と連想配列に分け、簡単に解説していきます。
配列
PHPには配列という、値をまとめて入れておくためのデータ型が存在します。
PHPでは、array関数を呼ぶことで、この配列型を宣言することができ、値をまとめて持つことができます。
$names = array(); $names[0] = "山田"; $names[1] = "田中"; $names[2] = "髙橋";
上記のように、配列には番号で仕切られた各空間に値を入れていく形となっています。
この場合は、namesという配列型の変数の0番目に山田、1番目に田中、2番目に髙橋という文字列を入れています。
$names = array("山田","田中","髙橋");
番号を指定しても良いですが、0からの連番であれば、上記のように1つの命令文でまとめて変数に名前(値)を入れることも可能です。
連想配列
配列と似た概念に連想配列というものがありますが、これは番号ではなく、キー文字列(名前)で仕切るタイプの配列型になります。
$member = array(); $member['name'] = "山田"; $member['age'] = "24"; $member['gender'] = "男性";
上記のように、配列であれば0、1、2…と指定していたところを、キー文字列(名前)に変えて、データをまとめて格納することができます。
$member = array('name'=>"山田",'age'=>"24",'gender'=>"男性");
配列のときと同じように、連想配列も、上記のように1つの命令文でまとめて変数にキー文字列(名前)と値のセットでデータを入れることができます。
配列の中の連想配列
データベースからデータを取得した際等に、配列の中に連想配列があるというデータ構造になっていることがよくあります。
$members = array(); $members[0] = array('name'=>"山田",'age'=>"24",'gender'=>"男性"); $members[1] = array('name'=>"田中",'age'=>"26",'gender'=>"女性"); $members[2] = array('name'=>"髙橋",'age'=>"27",'gender'=>"女性");
上記のように、0番目、1番目、2番目…にそれぞれ同じ項目の情報が入っており、ちょうどエクセルのようなデータ形式であることがわかります。
$members = array( array('name'=>"山田",'age'=>"24",'gender'=>"男性"), array('name'=>"田中",'age'=>"26",'gender'=>"女性"), array('name'=>"髙橋",'age'=>"27",'gender'=>"女性") );
値に連想配列が入ってはいますが、配列であることには変わりないので、上記のように、1つの命令文でまとめて連想配列のデータを入れることもできます。
PHPでデータベースからSELECT文でデータを取得するとこのようなデータ構造となりますので、頻出かつ便利な構造として覚えておき、利用できるようにしておくと良いでしょう。