[PHP] 配列の操作(追加)



Nプログラマです。

PHPの配列の宣言と追加のメモです。
勉強しながら追記していきます。

配列の宣言

以下のようにすると配列を宣言することができます。
また、宣言時に初期化することも可能です。

$arr = array();  // 空配列
$arr1 = [];  // 空配列
$arr2 = ['one', 'two'];  // 文字列のone, twoが入った配列

[]の方は、PHP 5.4以降から使えるようになった構文で、array()と同じになります。

なプ

開発と本番環境でバージョンが異なる時は注意が必要です。。。
あまりないと思いますが、自分はやらかしたことがありました。

この記事では[]を使った方で書いていきます。

配列の「最後」に要素を追加

1. []を使う

配列の最後に、要素を1つ追加します。

サンプルコード コードを開く
サンプルコード

$arr = ['one'];
$arr[] = 'two';  // twoを追加する
$arr[] = 'three';  // threeを追加する

print_r($arr);  // $arrの中身を出力

結果 を開く
結果

Array
(
    [0] => one
    [1] => two
    [2] => three
)

2. array_pushを使う

こちらも配列の最後に要素を追加をしますが、追加する値は1つだけでなく複数個を一気に追加することができます。

サンプルコード コードを開く
サンプルコード

$arr = ['one'];
array_push($arr, 'two', 'three');  // two, threeを$arrに追加

print_r($arr);

結果 を開く
結果

Array
(
    [0] => one
    [1] => two
    [2] => three
)

オーバーヘッドについて

array_push関数の呼び出しはオーバーヘッドがあるので、一つだけの要素を配列へ追加するような処理の場合は[]を使うほうがいいみたいです。

https://www.php.net/manual/ja/function.array-push.php
より引用

配列の「最初」に要素を追加

基本的には末尾に追加していくことが多いですが、先頭に要素を追加することもできる。

array_unshift関数を使う

array_unshift関数を使うとできるので、そのサンプルを作ってみます。

要素を1つ追加する

サンプル コードを開く
サンプル

$arr = ['one'];
array_unshift($arr, 'two');

print_r($arr);

結果 を開く
結果

Array
 (
     [0] => two
     [1] => one
 )

結果から、twoが配列の先頭に追加されていることが確認できました。

複数の要素を追加する

array_pushと同様に、第2引数は可変長引数リストなので複数の値を一気に追加することもできます。

サンプル コードを開く
サンプル

$arr = ['one'];
array_unshift($arr, 'two', 'three');

print_r($arr);

結果 を開く
結果

Array
 (
     [0] => two
     [1] => three
     [2] => one
 )

twoとthree(複数の値)が、配列の先頭に追加されていることが確認できました。

おわりに

今回は、PHPの配列の宣言と追加の内容でした。

それでは、このへんで。
バイナリー!



関連した記事