PHP程式經驗 #2 -- print和echo的差異

URL Link //n.sfs.tw/11456

2017-07-18 08:38:00 By 張○○

常在寫php的人一定會想知道echo和print這兩個函數有什麼不一樣,我也很想知道。

驗證

1. 比較print 和echo 函式的執行速度差異。

2. print 和echo 兩個函數的用法差異。

速度的差異

測試用程式

 $s = microtime(1);
for ($i = 0; $i < 1000000; $i++){
  echo "";
}
$e = microtime(1);
echo "Use 'echo': ".($e - $s)."\n";

$s = microtime(1);
for ($i = 0; $i < 1000000; $i++){
  print "";
}
$e = microtime(1);
echo "Use 'print': ".($e - $s)."\n";

結果

Use 'echo': 0.065550088882446
Use 'print': 0.080870151519775

用法的差異

正確用法

print "123"; O

print("123"); O

echo "123"; O

echo ("123"); O

echo "123","456",7,"ABC"; O

錯誤用法

echo ("123","456",7,"ABC");  X

print("123","456",7,"ABC");  X

print "123","456",7,"ABC";  X

結論

1. echo 比 print快一點

2. echo 不回傳資料,print永遠回傳1

3. echo,print 都不是一個函數,而是一個結構construct,所以後面的參數不加小括號 '()'

4. echo 可傳入多個參數,print不行

參考資料

[1] https://stackoverflow.com/questions/234241/how-are-echo-and-print-different-in-php


修改 2010-06-03 23:56:49