PHPの文字列リテラルには4種類の定義方法があります。
文字列リテラルは、4 つの異なる方法で指定することが可能です。
引用元: PHP: 文字列
比較的短い文字列リテラルには、引用符、もしくは、二重引用符を使うのですが、どちらを使ったほうが速いのか気になったので、検証してみました。10文字の文字列定数を、シングルクオーテーションまたはダブルクオーテーションで定義する操作を100万回実行し、実行時間を計測しました。その結果、ダブルクオーテーションを使うと、シングルクオーテーションを使った場合と比べ、平均で2.97%余分に時間がかかるという結果になりました。どれぐらい差がつくかは実行環境やプログラムに依存しますが、シングルクオーテーションを使ったほうがダブルクオーテーションを使った場合より、実行速度が向上するというのは間違いなさそうです。
検証に使ったプログラム
<?
for($j = 0 ; $j < 20 ; $j++){
$time = microtime(true);
for($i = 0 ; $i < 1000 * 1000 ; $i++){
$str = ‘0123456789’;
}
echo microtime(true) – $time;
echo ‘<br>’;
}
echo ‘<br>’;
for($j = 0 ; $j < 20 ; $j++){
$time = microtime(true);
for($i = 0 ; $i < 1000 * 1000 ; $i++){
$str = “0123456789”;
}
echo microtime(true) – $time;
echo ‘<br>’;
}
echo ‘<br>’;
実行結果
0.41139507293701
0.41649985313416
0.40994691848755
0.410001039505
0.41058301925659
0.40984010696411
0.40938115119934
0.409255027771
0.40907311439514
0.40949606895447
0.40971398353577
0.40964508056641
0.40959501266479
0.40952682495117
0.41003894805908
0.40985417366028
0.41009998321533
0.40972805023193
0.40949606895447
0.40978693962097
0.42220020294189
0.42161011695862
0.42169308662415
0.42109489440918
0.4217050075531
0.42155003547668
0.42145800590515
0.42229604721069
0.42049098014832
0.42160201072693
0.42232203483582
0.42337918281555
0.42352104187012
0.42338705062866
0.42360186576843
0.42351698875427
0.42375993728638
0.42368698120117
0.42230105400085
0.42197299003601
Facebookページもよろしくお願いします
CATEGORIES 北海道ラボby.a.takeuchi2010.08.23
記事の投稿者
a.takeuchi a