PHPの連想配列(配列型)と多次元配列のサンプルです。(確認環境:PHP7)
目次
サンプル | 連想配列とは |
連想配列を作成 | |
連想配列にキーと値を追加 | |
多次元配列を作成 | |
配列の中に配列 |
連想配列とは
- ※PHPは添字の配列と連想配列の間に違いはなく、配列型は 1 つだけです。
- 1つの変数で複数の「キー」と「値」を持てます。
- キーは任意の文字列を使えます。
- 以下は、PHPマニュアルの配列のリンクです。
https://www.php.net/manual/ja/language.types.array.php
連想配列を作成
<?php
$arr1 = [
'c1' => '赤',
'c2' => '黄',
'c3' => '青'
];
//$arr1 = array('c1'=>'赤', 'c2'=>'黄', 'c3'=>'青');
print_r($arr1); //Array ( [c1] => 赤 [c2] => 黄 [c3] => 青 )
print $arr1['c1']; // 赤
print $arr1['c2']; // 黄
print $arr1['c3']; // 青
2~5行目は、キーと値を指定して連想配列を作成しています。
7行目は、arrayで連想配列を作成します。
※PHP 5.4からarrayを使用せずに配列を作成できるようになりました。
9~11行目は、キーを指定してそれぞれの値を表示しています。
連想配列にキーと値を追加
<?php
$arr1 = [
'c1' => '赤',
'c2' => '黄',
'c3' => '青'
];
$arr1 = $arr1 + array('c4' => 'オレンジ');
print_r($arr1);//Array ([c1] => 赤 [c2] => 黄 [c3] => 青 [c4] => オレンジ)
8行目は、+演算子で連想配列にキーと値を追加しています。
多次元配列を作成
配列の中に配列があります。
<?php
$arr1 = [
"色の種類2",
["赤2", "黄2", "青2"],
["緑2", "白2", "黒2"]
];
print_r($arr1);
//Array ( [0] => 色の種類2
// [1] => Array ( [0] => 赤2 [1] => 黄2 [2] => 青2 )
// [2] => Array ( [0] => 緑2 [1] => 白2 [2] => 黒2 ) )
print $arr1[0]; // 色の種類2
print $arr1[1][0]; // 赤2
print $arr1[1][1]; // 黄2
print $arr1[1][2]; // 青2
print $arr1[2][0]; // 緑2
print $arr1[2][1]; // 白2
print $arr1[2][2]; // 黒2
2~6行目は、ブラケット[ ]を使用して多次元配列を作成しています。
8行目は、print_r()で変数の情報を表示しています。
配列の中に配列
配列に配列の変数をセットします。
<?php
$arr1 = ['赤', '青'];
$arr2 = [
'c1' => '白',
'c2' => '黒',
];
$arrAll = ["color", $arr1, $arr2];
print_r($arrAll);
//Array ( [0] => color [1] => Array ( [0] => 赤 [1] => 青 ) [2] => Array ( [c1] => 白 [c2] => 黒 ) )
print $arrAll[0]; // color
print $arrAll[1][0]; // 赤
print $arrAll[1][1]; // 青
print $arrAll[2]['c1']; // 白
print $arrAll[2]['c2']; // 黒
7行目は、配列の中に配列と連想配列をセットしています。
関連の記事
PHP 変数から連想配列を作成するサンプル(compact)
PHP 連想配列から変数を作成するサンプル(extract)