Is there a speed difference between <?php echo $var; ?> and <?=$var?>?

让人想犯罪 __ 提交于 2019-11-29 06:06:59

Performance difference is insignificant. Moreover, with use of APC, performance difference is zero, null, nada.

<?=$var?> requires short tags activated. Short tags are problematic within XML, because <? is also markup for XML processing tag. So if you're writing code that should be portable, use the long form.

See short_open_tag description in http://www.php.net/manual/en/ini.core.php

Technically the parser has to parse every character of the longer version, and there's a few more characters for every transfer.

If your webserver doesn't "pre-compile" (ie: cache tokenized PHP pages) then there is a slight performance difference. This should be insignificant except, perhaps, when you start talking about billions of runs.

-Adam

Performance wise it is insignificant.

Proper usage says to use the longer one, as it is more portable. Personally? I do the shorter one.

in php 5.3 short tag ASP-style <% %> support will be deprecated, try to avoid this and rewrite the code to the '<?php echo' format, because u cant use <?xml ?> inline for example.

No, they are identical. If you like typing a lot use <?php echo $var; ?>, otherwise just save time with <?=$var?>.

I think the second one requires the short_open_tag (in PHP.ini) to be set to true.

Meaning there is a chance it's turned off on some webservers.

Which do you recommend

Neither, unless you really want to allow HTML injection. (99% of the time, you don't.)

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

Or define a function that does echo(htmlspecialchars($arg)) with a shorter name to avoid all that typing.

The speed difference depends on how fast you can type those 9 extra characters.
It can also improve the readability of your code, but this is debatable.

If your talking about execution-speed there is no noticable difference.

Don't try to optimize with these, it's useless. Instead, deactivate allow_short_tags (because of problems when loading XML files) and write clean, readable and understandable code.

Even if there may be a slight difference (which is definitely lower than 10%), it's useles to optimize with it. If your scripts are slow, look at your loops first. Most of the time you can win a lot more performance by optimizing the programms flow than by using strange syntax.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!