Anonymous
Anonymous asked in 電腦與網際網路程式設計 · 1 decade ago

echo 和 print 的差別

在php中,echo 和 print 的差別在哪裡?

平時可以用

echo "Hello";

也可以用

print "Hello";

它們兩個的差別在哪裡? 有什麼不同?

3 Answers

Rating
  • 1 decade ago
    Favorite Answer

    雖然echo和print都可以像函式那樣子使用,例如:

      echo ("Hello World");

      print ("Hello World");

    也可以拿掉括號,例如:

      echo "Hello World";

      print "Hello World";

    但其實echo和print最大的差異在於「print是函式」而「echo是語法結構」,所以:

      echo沒有傳回值,它的原型是void echo ( string arg1 [, string ...] )

      print有傳回值,它的原型是int print ( string arg ),永遠傳回1

    看出其中差異了嗎?

    (1) echo可以這樣使用(連著印)

      echo ("howdy"),("partner");

      echo "howdy","partner";

    但print不能這樣子用

    (2) echo不能這樣子用

      ($some_var) ? echo 'true' : echo 'false'; // <= 錯誤

    但print可以

      ($some_var) ? print('true'): print('false'); // <=正確

    echo必須改成這樣才對

      echo $some_var ? 'true': 'false'; // <=正確

    最後就像蛋頭大大所說的,echo由於是語法結構,所以執行起來比較快一點。

    Source(s): 研究PHP官方網站www.php.net二十分鐘
    • Login to reply the answers
  • 1 decade ago

    print()事實上並不是函數,在官網裡有提到:

    print() is not actually a real function (it is a language construct) so you are not required to use parentheses with its argument list.

    在這補充一下~^^

    • Login to reply the answers
  • ?
    Lv 7
    1 decade ago

    最大的差別是

    echo 可以連著印,像

    echo "The first", "the second";

    print 不可以。

    還有 echo 執行起來比 print 快,所以盡量用 echo.

    還有一些小差別,詳情

    http://www.webclass.ru/eng/Tutorials/PHP/Echo_and_...

    • Login to reply the answers
Still have questions? Get your answers by asking now.