PHPで配列の要素を追加する方法をサンプルプログラムを示して紹介します。
基本的には配列の末尾に要素を追加することが多いと思いますが、PHPには先頭に要素を追加する関数も用意されております。
では、それらの関数の使い方を見ていきましょう。
配列の末尾に追加する方法(array_push)
それではまず、配列の末尾に要素を追加する方法について解説します。array_push 関数を使用します。
プログラム:
$array = array(1, 2, 3);
array_push($array, 4);
print_r($array);
実行結果:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
プログラム解説
arry_push 関数を使用すれば、配列の要素を追加することができます。この関数はひとつの要素だけではなく、一気に複数の要素を追加することもできます。
その場合のソースコードの書き方は次のとおりです。
プログラム:
$array = array(1, 2, 3);
array_push($array, 4, 5, 6);
print_r($array);
実行結果:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
配列の末尾に追加する方法([ ])
配列の末尾に要素を追加したい場合、関数を使用しない方法もあります。
プログラム:
$array = array(1, 2, 3);
$array[] = 4;
print_r($array);
実行結果:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
)
array_push 関数を使う以外にも、[ ] を使用すれば配列の要素の追加ができます。自動的に末尾に要素が追加されます。
ちなみに array_push 関数を使うのと、[ ] を使う方法はどちらが処理が早いのでしょうか。検証して見るために次のような100万個の要素を追加するプログラムを作ってみて比較してみました。
プログラム1:
$array = array();
for ($i = 0; $i < 1000000; $i++){
array_push($array, $i);
}
プログラム2:
$array = array();
for ($i = 0; $i < 1000000; $i++){
$array[] = $i;
}
プログラム1の実行時間:0.4624559879303 秒
プログラム2の実行時間:0.31604814529419 秒
[ ] を使用する方法のほうが、処理が早いという結果がでました。
配列の先頭に要素を追加する方法(array_unshift)
配列の末尾に要素を追加する方法を見てきましたが、先頭に追加する関数もあります。
$array = array(1, 2, 3);
array_unshift($array, 0);
print_r($array);
実行結果:
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
)
プログラム解説
array_unshift 関数を使用することで、配列の先頭に要素を追加することができます。この関数は array_push と同様、一度に複数の要素を追加することが可能です。
プログラム:
$array = array(1, 2, 3);
array_unshift($array, -2, -1, 0);
print_r($array);
実行結果:
Array
(
[0] => -2
[1] => -1
[2] => 0
[3] => 1
[4] => 2
[5] => 3
)
コメント