哪个更有效:字符串连接或替换?

Tei*_*ten 1 php microbenchmark

我试图使我的程序尽可能少服务器密集.使用双引号并包含变量或使用单引号和使用会更好吗?连接变量?

例如,

$string = 'Hello ' . $first_name;
$string_two = "Hello $first_name";
Run Code Online (Sandbox Code Playgroud)

哪种方式会更快?我知道这是最小的,但我认为这将帮助我弄清楚PHP如何在内部工作.

小智 8

我很好奇,所以...虽然OP:你可以用正确的问题解决这个问题.

<?php

$a = 'YES';

$start_time = microtime(TRUE);
$test = "Yow $a";
echo $test . "\n";
$end_time = microtime(TRUE);
echo $end_time - $start_time;

echo "\n\n";

$start_time = microtime(TRUE);
$test = 'Yow ' . $a;
echo $test . "\n";
$end_time = microtime(TRUE);
echo $end_time - $start_time;

echo "\n\n";
Run Code Online (Sandbox Code Playgroud)

输出:

第一轮:

Yow YES
4.1007995605469E-5

Yow YES
6.9141387939453E-6
Run Code Online (Sandbox Code Playgroud)

第二轮:

Yow YES
4.3869018554688E-5

Yow YES
8.8214874267578E-6
Run Code Online (Sandbox Code Playgroud)

所以使用单引号然后连接更好.

  • 我把你的测试放在一个运行100万次的循环中.我的结果非常不一致:有时替换循环需要1秒钟,有时连接循环需要1秒钟. (3认同)
  • 有一个网站,所有这些微优化基准为PHP,http://www.phpbench.com/ (2认同)