三者都是具有輸出功能的php語句,但print_r(expression),var_dump(expression)是函數,echo只是語言結構,不是函數,因此不能作為表達式的一部分。
對於php的8中數據類型,
echo ‘輸出一個字符串’;//只可以輸出字符串和數字
print_r — 打印關於變量的易於理解的信息,一般用輸出數組結構
var_dump — 打印變量的相關信息,一般用於數組和對象打印
自己用一下就清楚了
四種方法可以輸出字符串。 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......余下全文>>