配列値格納の構文と組み込み関数による速度比較

配列に値を代入する方法は、構文 array[]による方法と、組み込み関数 array_pushによる方法がある。

一般に組み込み関数より構文による動作のほうが速いといわれるので速度の比較をしてみました。

結果

種類所要時間使用メモリ
構文$array[]0.08435秒14990808B
組み込み関数array_push0.12157秒14990776B

組み込み関数のほうが1.5倍時間がかかります。

サンプルコード

構文 $array[]

<?php

if (!function_exists('getMicrotime')) {
  function getMicrotime() {
    list($usec, $sec) = explode(' ', microtime());
    return ((float)$usec + (float)$sec);
  }
}

$s=getMicrotime();

$tests=array();
for($k=0;$k<100000;$k++){
  $tests[]="これはテストのテキストですよ、ちょっと長めにしてみるよ。";
}

$e=getMicrotime();

echo ($e-$s);
echo "<br />";

echo memory_get_peak_usage();
echo "B";

組み込み関数 array_push

<?php

if (!function_exists('getMicrotime')) {
  function getMicrotime() {
    list($usec, $sec) = explode(' ', microtime());
    return ((float)$usec + (float)$sec);
  }
}

$s=getMicrotime();

$tests=array();
for($k=0;$k<100000;$k++){
  array_push($tests,"これはテストのテキストですよ、ちょっと長めにしてみるよ。");
}

$e=getMicrotime();

echo ($e-$s);
echo "<br />";

echo memory_get_peak_usage();
echo "B";

スポンサーリンク

関連記事

スポンサーリンク

REGR_R2関数 回帰直線の確定係数(R2)を求める

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る