2010-08-25 134 views
3

PHP,爲什麼echoprint更快?回聲爲什麼比打印更快?

他們做同樣的事情......爲什麼一個比另一個更快?

他們做究竟是是一樣的嗎?

+0

他們不只是彼此的別名?你從哪裏得到一個比另一個更快的想法? – Jasper 2010-08-25 22:02:49

+0

Fabien Potencier Symfony創建者的一個很好的答案http://fabien.potencier.org/article/8/print-vs-echo-which-one-is-faster – rpayanm 2015-01-06 16:46:34

回答

6

echoprint幾乎(不是技術上的),同樣的事情。兩者之間的差異(幾乎唯一)是print將返回整數1,而echo不返回任何內容。請記住,兩者實際上不是一個函數,而是語言結構。 echo允許您在使用時傳遞多個字符串,就好像它是一個函數(例如,echo($var1, $var2, $var3))。

echo也可以通過使用語法<?= $var1; ?>(代替<?php echo $var1; ?>)來縮短。

只要哪個更快,就有很多在線資源試圖回答這個問題。 PHP Benchmark得出結論:「回聲和打印功能實際上服務於確切目的,因此在後端應用完全相同的代碼。需要注意的一點是,當使用逗號分隔項目而使用回聲函數時,項目運行速度稍快。「

它會真正降低到您的偏好,因爲速度的差異(無論它們實際是什麼)可以忽略不計。

+0

我寫過一篇關於這個的文章,並且我做了一個使用[VLD](http://derickrethans.nl/projects.html#vld)的benchmar,請檢查:[http://rakesh.sankar-b.com/2011/01/12/echo-print-which-is -fast-PHP /(http://rakesh.sankar-b.com/2011/01/12/echo-print-which-is-fast-php/) – 2012-07-10 12:06:40

1

打印具有返回值,這是唯一的區別。

速度差異(如果有的話)是如此之小以至於不值得考慮像這樣的微觀優化,並且絕對不值得更新任何舊代碼來將打印轉換爲回聲。如果這是您的目標,有更好的方法來加速您的網站。

2

打印總是返回1,這也可能是爲什麼它的速度較慢