從我對echo(),print(),print_r()這個函數的理解是echo可輸入字串變數常量,print與echo差不多,但print_r可以列印數組而前兩者是不可以的,下面我來詳細介紹它們三個的用法與區別吧。
echo是PHP語句, print和print_r是函數,語句沒有傳回值,函數可以有傳回值(即便沒有用)
print() 只能列印出簡單類型變數的值(如int,string)
print_r() 可以列印出複雜類型變數的值(如數組,對象)
echo 輸出一個或者多個字串
echo — 輸出一個或者多個字串
Descrīption
void echo ( string arg1 [, string ...] ) //傳回值為空白
| 代碼如下 |
複製代碼 |
echo "你好","朋友";
|
print –輸出一個字串
Descrīption
int print ( string arg )//傳回值為整形
可以進行下面操作
| 代碼如下 |
複製代碼 |
$name=print "nihao n"; $str = 'test print value is'.$name; eval("$print="$str";"); echo $print; |
print_r — 列印關於變數的易於理解的資訊。
bool print_r ( mixed expression [, bool return] ) //傳回值是布爾型的,參數是mix類型的,可以是字串,整形,數組,對象類print_r() 顯示關於一個變數的易於理解的資訊。如果給出的是 string、integer 或 float,將列印變數值本身。如果給出的是 array,將會按照一定格式顯示鍵和元素。object 與數組類似。
print_r() 將把數組的指標移到最後邊。
你可以
print_r(str);
print_r(int);
print_r(array);
print_r(obj);
下面我們一個個舉例說明一下
四種方法可以輸出字串。 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的結果沒有意義,因為都是列印"n"。因此用var_dump()函數更適合調試
http://www.bkjia.com/PHPjc/631244.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631244.htmlTechArticle從我對echo(),print(),print_r()這個函數的理解是echo可輸入字串變數常量,print與echo差不多,但print_r可以列印數組而前兩者是不可以的,下面我...