PHP 配列への要素追加
1. PHP 配列への要素追加
PHP では、いくつかの異なるメソッドを使用して Array に Item を追加できます。
[]- Array の末尾に単一の Item を追加しますarray_push()- Array の末尾に 1 つ以上の Item を追加しますarray_unshift()- Array の先頭に 1 つ以上の Item を追加しますarray_splice()- Array の一部を削除し、それを新しい要素で置き換えますarray_merge()- 2 つ以上の Array をマージ(統合)します
2. 単一の要素を追加する
既存の Array の末尾に単一の Item を追加するには、ブラケット [] 構文を使用します。
2.1 例
$fruits 配列に要素を 1 つ追加します:
$fruits = array("リンゴ", "バナナ", "チェリー");
$fruits[] = "オレンジ";
var_dump($fruits);ブラケット [] 構文を使用して、さらに多くの要素を追加することも可能ですが、1 つずつ追加する必要があります。
2.2 例
$fruits 配列にさらに 2 つの要素を追加します:
$fruits = array("リンゴ", "バナナ", "チェリー");
$fruits[] = "オレンジ";
$fruits[] = "洋ナシ";
var_dump($fruits);3. 連想配列への追加
Associative Array(連想配列)の末尾に要素を追加するには、ブラケット [] 内に Key を指定し、= オペレーターで値を代入します。
3.1 例
$cars 配列に要素を 1 つ追加します:
$cars = array("ブランド" => "フォード", "モデル" => "マスタング");
$cars["カラー"] = "レッド";
var_dump($cars);4. PHP array_push() 関数
array_push() 関数は、既存の Array の末尾に 1 つ以上の要素を追加するために使用されます。
4.1 例
$fruits 配列の末尾に 3 つの要素を追加します:
$fruits = array("リンゴ", "バナナ", "チェリー");
array_push($fruits, "オレンジ", "キウイ", "レモン");
var_dump($fruits);5. 連想配列への複数要素の追加
既存の Associative Array に複数の要素を追加する場合、+= オペレーターを使用できます。
5.1 例
$cars 配列に 2 つの要素を追加します:
$cars = array("ブランド" => "フォード", "モデル" => "マスタング");
$cars += ["カラー" => "レッド", "年式" => 1964];
var_dump($cars);6. PHP array_unshift() 関数
array_unshift() 関数は、既存の Array の先頭に 1 つ以上の要素を追加するために使用されます。
6.1 例
$fruits 配列の先頭に 3 つの要素を追加します:
$fruits = array("リンゴ", "バナナ", "チェリー");
array_unshift($fruits, "オレンジ", "キウイ", "レモン");
var_dump($fruits);7. PHP array_splice() 関数
array_splice() 関数は、Array の一部を削除し、新しい要素に置き換えるために使用されます。
Offset(開始位置)を指定し、Length(削除する長さ)を 0 に設定(何も削除しない)すれば、その位置に要素を挿入できます。
7.1 例
$fruits 配列のインデックス 1 に新しい要素を挿入します:
$fruits = array("リンゴ", "バナナ", "チェリー");
$new_fruit = "オレンジ";
// インデックス 1 に "オレンジ" を挿入 (0個削除)
array_splice($fruits, 1, 0, $new_fruit);
var_dump($fruits);8. PHP array_merge() 関数
array_merge() 関数は、2 つ以上の Array をマージするために使用されます。
8.1 例
2 つの配列をマージします:
$fruits1 = array("リンゴ", "バナナ");
$fruits2 = array("チェリー", "オレンジ");
$result = array_merge($fruits1, $fruits2);
var_dump($result);