和= $ var?>之间有速度差吗?

问题描述 投票:11回答:9

这两个版本之间有速度差异吗?

<?php echo $var; ?>

<?=$var?>

您推荐谁,为什么?

php syntax php-shorttags
9个回答
16
投票

性能差异不明显。而且,使用APC时,性能差异为零,零,nada。

短标签在XML中是有问题的,因为<?也是XML处理标签的标记。因此,如果您要编写可移植的代码,请使用长格式。

请参见short_open_tag中的http://www.php.net/manual/en/ini.core.php说明


7
投票

从技术上讲,解析器必须解析较长版本的每个字符,并且每次传输都有更多的字符。

如果您的网络服务器未“预编译”(即:缓存标记化的PHP页面),则性能会有细微的差别。除了应该开始谈论数十亿次跑步之外,这应该无关紧要。

-亚当


6
投票

在性能上微不足道。

正确使用表示使用时间更长,因为它更便于携带。亲身?我做的比较短。


5
投票

在php 5.3短标签ASP样式中的支持将被弃用,请尝试避免这种情况并将代码重写为'<?php echo' format,因为例如,您不能使用<?xml ?>内联。


4
投票

不,它们是相同的。如果您想输入很多内容,请使用<?php echo $var; ?>,否则请使用<?=$var?>节省时间。


3
投票

我认为第二个要求将short_open_tag(在PHP.ini中)设置为true。

意味着有可能在某些Web服务器上将其关闭。


3
投票

您推荐哪个

都不是,除非您真的要允许HTML注入。 (99%的时间,您没有。)

<?php echo htmlspecialchars($var); ?>

或定义一个函数,该函数以较短的名称执行echo(htmlspecialchars($ arg))以避免所有键入。


2
投票

速度差异取决于您键入这9个额外字符的速度。它还可以提高代码的可读性,但这值得商.。

如果您谈论执行速度,则没有明显的区别。


1
投票

不要尝试使用这些进行优化,这是没有用的。相反,请停用allow_short_tags(由于加载XML文件时会出现问题),并编写干净,可读和可理解的代码。

即使可能存在细微的差异(绝对低于10%),也要用它来进行优化。如果您的脚本运行缓慢,请先查看循环。在大多数情况下,通过优化程序流程,与使用奇怪的语法相比,您可以获得更多的性能。

© www.soinside.com 2019 - 2024. All rights reserved.