【PHP】連想配列の作成と、連想配列のキー・値を取得し出力する例

今回は、PHPでの連想配列の作成と、連想配列のデータを取得・出力する例となります。

PHPの配列について

PHP の配列は、データ型の1つで複数のデータを順序付きで扱うことができ、扱うデータは要素として「キー」と「値」のペアとします。 

配列のキーは整数または文字列で指定し、値 は任意の型を指定します。PHP では、「キー」が整数の添字配列と、「キー」が文字列の連想配列に違いはなく、配列型は1つだけとなります。

連想配列の作成

連想配列を作成するには、array()などを利用し、「キー」と「値」を=>(ダブルアロー演算子)でペアとして要素を作成し、配列とします。

以下、連想配列を作成する2種類の例となります。

// 連想配列をarray()で作成する例
$apes = array(
    'monkey'     => 'おさる',
    'chimpanzee' => 'チンパン',
);

// 連想配列を短縮構文で作成する例
$apes = [
    'monkey'     => 'おさる',
    'chimpanzee' => 'チンパン',
];

連想配列内のデータを取得・出力

配列の値を取得・出力する例

配列の値を取得するには、配列の変数にキーを[ ](角括弧)で指定します。

以下は例となり、配列の値「おさる」を取得し出力しています。

$apes = array(
    'monkey'     => 'おさる',
    'chimpanzee' => 'チンパン',
);
echo $apes['monkey'];

出力結果

おさる

配列のすべてのキーと値を取得・出力する例

foreachループでは、配列を繰り返し処理することで、配列内のデータを取得できます。

以下の例では、foreachループを使い配列のすべてのキーと値を取得・出力しています。

$apes = array(
	'monkey'     => 'おさる',
    'chimpanzee' => 'チンパン',
);
// 配列のすべてのキーと値を、変数$keyと$valueに代入し出力する場合
foreach( $apes as $key => $value ){
	echo $key . 'は' . $value . 'です。<br>';
}

出力結果

monkeyはおさるです。
chimpanzeeはチンパンです。

連想配列の要素を追加・上書き

配列の要素を追加または上書きするには、配列変数にキーを[ ](角括弧)で指定し、=(代入演算子)で値を代入します。

新しいキー名の場合、指定した配列の最後に要素が追加されます。

以下は、配列の要素を追加・上書きする例となります。

$apes = array(
    'monkey'     => 'おさる',
    'chimpanzee' => 'チンパン',
);
// 配列の最後に要素を追加
$apes['gorilla'] = 'ゴリラ';
// キー名がmonkeyの値を上書き
$apes['monkey'] = 'テナガザル';

// foreachループで出力
foreach( $apes as $value ){
	echo $value . 'です。<br>';
}

出力結果

テナガザルです。
チンパンです。
ゴリラです。

連想配列の内容を確認

var_dump関数でデータを確認

配列内のデータを確認したい際に、利用できる関数の一つにvar_dump関数があります。

配列だけに限ったことではありませんが、var_dump関数では、パラメータに指定したデータの型や値を含む構造化された情報を出力します。

以下は、var_dump関数を使い配列を出力する例となります。

$apes = array(
    'monkey'     => 'おさる',
    'chimpanzee' => 'チンパン',
);
var_dump( $apes );

出力結果

array(2) { 
	["monkey"]     => string(9) "おさる" 
    ["chimpanzee"] => string(12) "チンパン"
}

上記、array(2)と出力されている箇所では、指定したデータが配列型で配列の要素が2つあることを示しています。

その配列の要素が、["monkey"] => string(9) "おさる"のような形式で出力され、「キー」と「値のデータ型」と「値」を示しています。また、string(9)は "おさる"という値が、文字列のデータ型でバイト数が9ということを示しています。

また、全角文字のバイト数に関しては、以下のリンク先を参考にしてみてください。

PHPのstrlen関数で全角文字が3バイトになる件 - 浜村拓夫の世界

var_dump関数の出力結果を整形

var_dump関数でデータを出力する際、実際には上記のように改行はされません。var_dump関数の出力結果を整形する場合には、以下のリンク先を参考にしてみてください。

参考サイトなど

コメント投稿コメント投稿欄を開く

コメントは項目欄(*は必須項目)を入力し、「コメントを送信」ボタンをクリックしてください。 (メールアドレスは公開されることはありません。コメントの公開は承認制となります。)

また、多忙によりコメントには返信できない場合があります。

Twitterで返信する場合はこちらから。