PHP學習之輸出字串(echo,print,printf,print_r和var_dump)
1. echo echo 是PHP的一個關鍵字,它沒有返回值。在寫法上,它可以省略小括號。如下程式碼: 複製程式碼 程式碼如下: echo 'Test String'; echo('Test String'); 2. print print 也是PHP的一個關鍵字,它有返回值,一般返回true,返回false的情況應該沒有。在寫法上,它和echo一樣,可以省略小括號。如下程式碼: 複製程式碼 程式碼如下: print 'Test String'; print('Test String'); 3. printf printf可以像C語言的printf一樣,格式化輸出一個字串。它的格式和C語言差不多,都是以%開頭。其說明符定義如下。 b 引數為整數,顯示其二進位制 c 引數為整數,顯示對應ASCII字元 d 引數為整數,顯示其十進位制 f 引數為雙精度,顯示為浮點數 e 引數為雙精度,顯示為科學計數型 g 引數為雙精度,顯示為浮點數或科學計數型 o 引數為整數,顯示其八進位制 s 引數為字串,顯示為字串 u 引數為無符號整數,顯示其十進位制 x/X 引數為整數,顯示其十六進位制(分別為大小寫顯示) % 輸出%要說明的是: f,e預設小數點後六位,g在超過六位(加小數點)時,會四捨五入,如果四捨五入之後的值小於1000000會直接輸出,大於的1000000的話會顯示成科學計數型。f在值大於1.2e23輸出的結果是不對的。 以上除%以外,其它的都可以指定輸出總位數(小數點、E都算一位),並可以指定0或空格為補位符,還可以指定補位在左還是在右。 f,e可以指定小數點後位數。 如 %5d 表示輸出總位數為5,不足左補空格; %05d 表示輸出總位數為5,不足左補0; %05.1f 表示輸出總位數為5,不足左補0,小數點後1位; %-05.1f 表示輸出總位數為5,不足右補0,小數點後1位; 示例程式碼: 複製程式碼 程式碼如下: printf("%7.2f", 1.2); // " 1.20" printf("%-07.2f", 1.2); // "1.20000" 4. sprintf sprintf和格式轉換和printf一樣,兩者區別在於printf直接輸出,而sprintf返回一個格式化後的字串。 5. print_r和var_dump print_r和var_dump都能輸出陣列和物件,但print_r對布林型的輸出不太明顯;var_dump輸出比較詳細,一般除錯時用得多。 如下程式碼: 複製程式碼 程式碼如下: $v = new test(); print_r($v); var_dump($v); class test { public $num = 1; public $str = "222"; public $bln = true; 結果為: 複製程式碼 程式碼如下: test Object ( [num] => 1 [str] => 222 [bool] => 1 ) object(test)#1 (3) { ["num"]=> int(1) ["str"]=> string(3) "222" ["bool"]=> bool(true) }