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

配列に値を代入する方法は、構文 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";

関連記事

スポンサーリンク

PHPで複数の画像をfacebookに投稿する方法

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

上に戻る