程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP中echo和print的區別,phpechoprint

PHP中echo和print的區別,phpechoprint

編輯:關於PHP編程

PHP中echo和print的區別,phpechoprint


一般來說,PHP中動態輸出HTML內容,是通過print 和 echo 語句來實現的,在實際使用中, print 和 echo 兩者的功能幾乎是完全一樣。可以這麼說,凡是有一個可以使用的地方,另一個也可以使用。但是,兩者之間也還是一個非常重要的區別:在 echo 函數中,可以同時輸出多個字符串,而在 print 函數中則只可以同時輸出一個字符串。同時,echo函數並不需要圓括號,所以echo函數更像是語句而不像是函數。
echo 和 print 都不是函數,而是語言結構,所以圓括號都不是必需的。
 
他們的區別在於:

(1) echo可以輸出多個字符串,像下面這樣:

echo 'a','b','c';

如果你非要加上圓括號,注意寫成echo ('a','b','c');是錯誤的,應該寫成:

echo ('a'),('b'),('c');

它沒有像函數的行為,所以不能用於函數的上下文
(2) print只能輸出一個字符串,它可以表現得像一個函數,比如你可以如下使用:

$ret = print 'Hello World';

所有它能用在更復雜的表達式中。
另外,echo的效率相對比較快!

看看如下代碼:

<?php
$a='hello ';$b='php world!';echo $a,$b.'<br />';//echo 可以用逗號分隔字符串變量來顯示
print $a.$b.'<br />';//而print不能使用逗號,只能用點號分隔,
//print $a,$b.'<br />';//這裡使用逗號時報錯。
?>

分析總結:

echo    命令和print命令相同,沒有區別 
echo    函數和print函數有區別。 
echo()    無返回值,與echo命令相同 
print()    有返回值,成功,返1,false,返0.   
printf()    和sprintf()類似,均為格式化輸出,不同的是前者輸出到標准輸出,後者輸出到變量 

形如:

echo  <<< EOT 
EOT; 
print  <<< EOT 
EOT; 

的書寫格式,其含義如下:

<<<    運算符,將由自定義分界符間的內容視為字符串,可對其間的變量做處理 
EOT    自定義分界符,結束時必須位於行首

相信本文所述對大家更好的掌握PHP程序設計有一定的借鑒價值。


在php中echo() print() print-r()不同

echo
可以一次輸出多個值,多個值之間用逗號分隔。echo是語言結構(language construct),而並不是真正的函數,因此不能作為表達式的一部分使用。
print()
函數print()打印一個值(它的參數),如果字符串成功顯示則返回true,否則返回false。
print_r()
可以把字符串和數字簡單地打印出來,而數組則以括起來的鍵和值得列表形式顯示,並以Array開頭。但print_r()輸出布爾值和NULL的結果沒有意義,因為都是打印"\n"。因此用var_dump()函數更適合調試。
 

PHP中echo(),print(),print_r()的不同是什?

四種方法可以輸出字符串。 echo

print()

printf()

print_r()
echo
可以一次輸出多個值,多個值之間用逗號分隔。echo是語言結構(language construct),而並不是真正的函數,因此不能作為表達式的一部分使用。

語法正確: echo "Hello", "World";
語法錯誤: echo ("Hello", "World");
print()
函數print()打印一個值(它的參數),如果字符串成功顯示則返回true,否則返回false。如, if (!print("Hello, World")){

die("you are not listening to me");

}
printf()
printf()源於C語言中的printf()。該函數輸出格式化的字符串。
語法: printf(format,arg1,arg2,arg++)
format 規定字符串以及如何格式化其中的變量;
arg1, arg2, ++ 等參數將插入到主字符串中的百分號 (%) 符號處。該函數是逐步執行的。在第一個 % 符號中,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。
Example: ?php

$str = "Hello";

$number = 123;

printf("%s world. Day number %u",$str,$number);

?>
#Results======
Hello world. Day number 123

如果 % 符號多於 arg 參數,則您必須使用占位符。占位符被插入 % 符號之後,由數字和 "\$" 組成。請參見例子 3。
Example: ?php

$number = 123;

printf("With 2 decimals: %1\$.2fbr />With no decimals: %1\$u",$number);

?>
#Result
With 2 decimals: 123.00
With no decimals: 123

print_r()和var_dump()
print_r()可以把字符串和數字簡單地打印出來,而數組則以括起來的鍵和值得列表形式顯示,並以Array開頭。如, $a = array('name' => 'Fred', 'age' => '15', 'wife' => 'Wilma');

print_r($a);
Output: Array

{

[name] => Fred

[age] => 15

[wife] => Wilma

}
對象也一樣。如, class P {

var $name = 'nat';

// ...

}

$p = new P;

print_r($p);
Output: Object

{

[name] => nat

}
但print_r()輸出布爾值和NULL的結果沒有意義,因為都是打印&quo......余下全文>>
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved