どうも、ちょげ(@chogetarou)です。
連想配列の末尾にキー(key)と値(value)の要素を追加する方法を紹介します。
方法

連想配列の末尾にキー(key)と値(value)の要素を追加する方法は、3つあります。
[]
1つ目は、[]を使う方法です。
「$arr[key] = value
」のように、「配列名[キー]」に値を代入します。
//arr=対象の連想配列, key=追加する要素のキー, value=追加する要素の値
$arr[key] = value;
上記の代入は、連想配列の最後に[]内に、指定したキーと代入した値をペアとした要素を追加します。
使用例
<?php
$numbers = ['one' => 1, 'two' => 2, 'three' => 3];
$numbers['four'] = 4;
print_r($numbers);
?>
出力:
Array
(
[one] => 1
[two] => 2
[three] => 3
[four] => 4
)
+=
2つ目は、「+=」演算子を使う方法です。
「+=」の左辺に追加先の連想配列、右辺に追加する要素を持つ連想配列を指定します。
//arr=対象の配列, key=追加する要素のキー、value=追加する要素の値
$arr += [key => value];
$arr += array(key => value); //上と同じ結果になる
上記の「+=」は、左辺の連想配列の最後に右辺の連想配列の要素を追加します。
もし、元々の連想配列に影響を与えたくない場合は、「+」演算子を使います。
//追加先の連想配列に影響を与えない場合
$result = $arr + [key => value];
$result = $arr + array(key => value); //上と同じ結果になる
使用例
<?php
$numbers = ['one' => 1, 'two' => 2, 'three' => 3];
$numbers += ['four' => 4];
print_r($numbers);
?>
出力:
Array
(
[one] => 1
[two] => 2
[three] => 3
[four] => 4
)
array_merge()
3つ目は、array_merge()を使う方法です。
まず、array_merge()を呼び出します。
そして、array_merge()の第1引数に追加先の連想配列、第2引数に追加する要素を持つ連想配列を指定します。
//arr=対象の配列, key=追加する要素のキー、value=追加する要素の値
$result = array_merge($arr, [key => value]);
$result = array_merge($arr, array(key => value)); //上と同じ結果になる
上記のarray_merge()は、第1引数の連想配列の最後に第2引数の連想配列の要素を追加した結果を返します。
使用例
<?php
$numbers = ['one' => 1, 'two' => 2, 'three' => 3];
$result = array_merge($numbers, ['four' => 4]);
print_r($result);
?>
出力:
Array
(
[one] => 1
[two] => 2
[three] => 3
[four] => 4
)
まとめ
連想配列の末尾にキー(key)と値(value)の要素を追加する方法は、次の3つです。
- []を使う方法
$arr[key] = value;
- 「+=」を使う方法
$arr += [key => value];
- array_merge()を使う方法
$result = array_merge($arr, [key => value]);
コメント