本文較為詳細的分析了PHP中echo,print_r與var_dump區別。分享給大家供大家參考。具體分析如下:
三者都是具有輸出功能的php語句,但print_r(expression),var_dump(expression)是函數,echo只是語言結構,不是函數,因此不能作為表達式的一部分。
對於操作php的8種數據類型來說:
① echo 用於輸出數值變量或者是字符串。但使用echo來輸出引用變量時,如數組,僅輸出數組的名字;當輸出一個對象時,服務器提示<Catchable fatal error: Object of class Person could not be converted to string>錯誤,錯誤顯示echo只能用於輸出字符串。
② print_r(expression)的作用是輸出一個數組,實際上參數expression的類型可為數值變量和引用變量。
③ var_dump(expression)函數的輸出結果<變量類型,變量值,變量長度>,參數expression表示各種變量類型,作用是輸出一個變量的詳細信息。
希望本文所述對大家的PHP程序設計有所幫助。
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......余下全文>>