配列の最後に要素を追加するには、array_push関数を使う方法と空インデックス($array[])を使う方法があります。
<?php
$array = array();
for ($i = 0; $i < 10; $i++) {
array_push($array, $i);
}
print_r($array);
?>
<?php
$array = array();
for ($i = 0; $i < 10; $i++) {
$array[] = $i;
}
print_r($array);
?>
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
[6] => 6
[7] => 7
[8] => 8
[9] => 9
)
実行結果はどちらも同じになりますが、速度が違います。array_push関数よりも空インデックス[]の方が高速です。2つの処理の実行時間を測定してみました。
$array = array();
for ($i = 0; $i < 100000; $i++) {
array_push($array, $i);
}
$array = array();
for ($i = 0; $i < 100000; $i++) {
$array[] = $i;
}
○実行結果(秒)
処理1:0.169935
処理2:0.079500
array_push関数より、$array[]で要素を追加した方が高速だということがわかります。
array_push関数は、実行後の要素数を返すので、その情報を取得したい場合には便利です。
<?php
$array = array("東京", "千葉", "神奈川");
$result = array_push($array, "沖縄");
echo "現在、{$result}件が登録済みです。";
print_r($array);
?>
○実行結果
現在、4件が登録済みです。
Array ( [0] => 東京 [1] => 千葉 [2] => 神奈川 [3] => 沖縄 )
