PHP 連想配列と多次元配列

目次

(確認環境:PHP7)

連想配列とは

  • 「キー」と「値」の組み合わせでデータを管理する配列のことです。
  • キーは任意の文字列を使えます。
  • Pythonでいう辞書(dict)、JavaScriptでいうオブジェクト(オブジェクトリテラル) に相当します。
  • PHPの配列は、数値インデックスの「通常の配列」と、文字列キーを持つ「連想配列」を区別せず、どちらもarray型で表されます。

連想配列を作成

<?php
$arr1 = [
  'c1' => 'A',
  'c2' => 'B',
  'c3' => 'C'
];
//$arr1 = array('c1'=>'A', 'c2'=>'B', 'c3'=>'C');

print_r($arr1); //Array ( [c1] => A [c2] => B [c3] => C ) 
print $arr1['c1']; // A
print $arr1['c2']; // B
print $arr1['c3']; // C

2~5行目は、キーと値を指定して連想配列を作成しています。
7行目は、arrayで連想配列を作成します。
※PHP 5.4からarrayを使用せずに配列を作成できるようになりました。
9~11行目は、キーを指定してそれぞれの値を表示しています。

連想配列にキーと値を追加

<?php
$arr1 = [
  'c1' => 'A',
  'c2' => 'B',
  'c3' => 'C'
];

$arr1 = $arr1 + array('c4' => 'D');

print_r($arr1);//Array ([c1] => A [c2] => B [c3] => C [c4] => D)

8行目は、+演算子で連想配列にキーと値を追加しています。

多次元配列を作成

配列の中に配列があります。

<?php
$arr1 = [
  "Test1",
  ["A2", "B2", "C2"],
  ["X2", "Y2", "Z2"]
];

print_r($arr1);
//Array ( [0] => Test1 
//        [1] => Array ( [0] => A2 [1] => B2 [2] => C2 ) 
//        [2] => Array ( [0] => X2 [1] => Y2 [2] => Z2 ) )
print $arr1[0]; // Test1
print $arr1[1][0]; // A2
print $arr1[1][1]; // B2
print $arr1[1][2]; // C2
print $arr1[2][0]; // X2
print $arr1[2][1]; // Y2
print $arr1[2][2]; // Z2

2~6行目は、ブラケット[ ]を使用して多次元配列を作成しています。
8行目は、print_r()で変数の情報を表示しています。

配列の中に配列

配列に配列の変数をセットします。

<?php
$arr1 = ['A', 'C'];
$arr2 = [
  'c1' => 'Y',
  'c2' => 'Z',
];
$arrAll = ["color", $arr1, $arr2];

print_r($arrAll);
//Array ( [0] => color [1] => Array ( [0] => A [1] => C ) [2] => Array ( [c1] => Y [c2] => Z ) ) 
print $arrAll[0]; // color
print $arrAll[1][0]; // A
print $arrAll[1][1]; // C
print $arrAll[2]['c1']; // Y
print $arrAll[2]['c2']; // Z

7行目は、配列の中に配列と連想配列をセットしています。

関連の記事

PHP 変数から連想配列を作成する (compact)
PHP 連想配列から変数を作成する (extract)

△上に戻る