Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:“模板”和“报价”的速度差异是什么?_Php_Html_Performance_Templates - Fatal编程技术网

PHP:“模板”和“报价”的速度差异是什么?

PHP:“模板”和“报价”的速度差异是什么?,php,html,performance,templates,Php,Html,Performance,Templates,出于好奇,这样做的速度差异是什么: $a = 0; echo "<html><body>$a</body></html>"; 对 <html><body><?php echo $a; ?></body></html> 在PHP文件中?让我们了解一下: <?php ob_start(); $a = 0; $time1 = microtime(true); for ($i = 0;

出于好奇,这样做的速度差异是什么:

$a = 0;
echo "<html><body>$a</body></html>";

<html><body><?php echo $a; ?></body></html> 
在PHP文件中?

让我们了解一下:

<?php
ob_start();
$a = 0;
$time1 = microtime(true);
for ($i = 0; $i < 100000; $i++) {
    echo "<html><body>$a</body></html>";
}
$time2 = microtime(true);
for ($i = 0; $i < 100000; $i++) {
?>
<html><body><?php echo $a; ?></body></html> 
<?php
}
$time3 = microtime(true);

ob_end_clean();
echo 'Just echo: ' . ($time2 - $time1) . '<br>';
echo 'Inline PHP: ' . ($time3 - $time2) . '<br>';
?>

看起来第一种方法稍微快一点。但是差别太小了,可以忽略不计,而且绝对不是通过回显字符串输出大量HTML代码块的理由。

可以忽略不计。统计上不相关,除非你做了一百万次,可能更多。几乎一样,两者都在5-10毫秒的范围内。你的两个例子都不包含。而否决票可能是因为你自己可以比写问题更快地确定这一点。所以你说,我可以自己回答这个问题,但我的时间比你的时间更重要,所以你这样做是为了我已经说过的,只有非常微不足道的差异。这两种方法中的一种只生成EXT_STMT和ECHO字节码,而另一种方法归结为添加字符串和打印。我真的很好奇,如果你用回声,$a,;忍者编辑:懒得把它放在评估中,这是一个已经为你做过的网站:你的代码不会在一次尝试中产生结论性的结果,请参阅。F5几次,看到两种方法都“赢”。这是因为它在PHP内部的操作码级别上是完全相同的。当我读到你答案的开头时,我立刻想到了70年代的Tootsie Pop广告。让我们看看,a-wuhun,a-twohu,a-three。三。@NielsKeurentjes第一种方法在我运行Windows的Apache环境中始终更快,但我可以肯定地想象,在其他环境中,结果是相同或相反的。
Just echo: 0.037185907363892
Inline PHP: 0.040054082870483