php中echo、print、print_r、var_dump、var_export、printf、sprintf區別
來源
歸納:
(1) print和echo是語言結構,echo輸出多個值,多個值之間用逗號分隔,無返回值;print只能輸出一個值,有返回值。echo和print輸出整型和字符串,沒法打印布爾型,如果true,打印1,false打印為空。
(2) print_r()除了輸出整型和字符串,還可以輸出數組和對象,數組和對象使用鍵值對形式表示,數組時候array(鍵值對形式);對象時候Object(鍵值對形式) ;沒法打印布爾型,如果true,打印1,false和NULL打印為空。
(3) var_dump()判斷變量的類型與長度,並輸出變量的數值。如果是數組和對象,將遞歸展開值,通過縮進顯示其結構。能夠打印布爾和NULL。
(4) var_export()和var_dump()類似,其返回合法的php代碼,其返回值可以賦值給php變量。
(5) var_dump()可以打印多個變量,中間用逗號隔開;print_r()和var_export()打印一個變量,第二個參數設定為true,將打印內容返回。
(6)、sprintf和printf函數都是用來格式化操作字符串
語法:
注:
(1)echo、print語言結構,非函數,能打印整型和字符串。
(2)print_r()和var_export()打印整型、字符串外,還能打印數組、對象,以鍵值對形式打印數組、對象。var_export()還可打印布爾值。
(3)var_export()在第二個參數設置true,不會打印變量,而是將其以字符串形式返回,返回值可以賦值給php變量。
(4)var_dump()除了打印整型、字符串、數組、對象,還能打印布爾型。而且是輸出變量類型、長度和值。
echo | print_r | var_dump | var_export | ||||
只能輸出一個值 | V | V | V | ||||
用逗號可輸出多個值 | V | V | |||||
可輸出數組與對象 | V | V | V | ||||
返回值結果 | void | int | bool | void | mixed | ||
輸出true布爾值結果 | 1 | 1 | 1 | true | true | ||
輸出false布爾值結果 | 為空 | 為空 | 為空 | false | false | ||
輸出數組結果 | 鍵+數值 | 鍵+數值+類型+長度 | 鍵+數值 | ||||
用途 | 輸出一個或多個字串 | 輸出字串 | 列印關於變數的易於理解的資訊 | 列印變數的相關資訊 | 輸出或返回一個變數的字串表示 |
(1) print和echo是語言結構,echo輸出多個值,多個值之間用逗號分隔,無返回值;print只能輸出一個值,有返回值。echo和print輸出整型和字符串,沒法打印布爾型,如果true,打印1,false打印為空。
(2) print_r()除了輸出整型和字符串,還可以輸出數組和對象,數組和對象使用鍵值對形式表示,數組時候array(鍵值對形式);對象時候Object(鍵值對形式) ;沒法打印布爾型,如果true,打印1,false和NULL打印為空。
(3) var_dump()判斷變量的類型與長度,並輸出變量的數值。如果是數組和對象,將遞歸展開值,通過縮進顯示其結構。能夠打印布爾和NULL。
(4) var_export()和var_dump()類似,其返回合法的php代碼,其返回值可以賦值給php變量。
(5) var_dump()可以打印多個變量,中間用逗號隔開;print_r()和var_export()打印一個變量,第二個參數設定為true,將打印內容返回。
(6)、sprintf和printf函數都是用來格式化操作字符串
語法:
printf的語法格式為:int printf( string$format[, mixed$args[, mixed$...]] )差異:
sprintf的語法格式為:string sprintf( string$format[, mixed$args[, mixed$...]] )
- printf函數可以直接將格式化之後的字符串輸出,而sprintf函數需要使用echo方法將格式化後的字符串輸出。
- printf函數的返回值為int類型,表示列印出來字符串的字符數量,而sprintf函數的返回值為一個字符串。
注:
(1)echo、print語言結構,非函數,能打印整型和字符串。
(2)print_r()和var_export()打印整型、字符串外,還能打印數組、對象,以鍵值對形式打印數組、對象。var_export()還可打印布爾值。
(3)var_export()在第二個參數設置true,不會打印變量,而是將其以字符串形式返回,返回值可以賦值給php變量。
(4)var_dump()除了打印整型、字符串、數組、對象,還能打印布爾型。而且是輸出變量類型、長度和值。
留言