[PHP]連想配列の最後にキーと値の要素を追加するには?

PHP

どうも、ちょげ(@chogetarou)です。

連想配列の末尾にキー(key)と値(value)の要素を追加する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

連想配列の末尾にキー(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]);

コメント

タイトルとURLをコピーしました