在PHP中,有四種方法輸出字串。 echo結構可以一次輸出多個值;print()只可以輸出一個值;printf()可以格式化輸出;print_r()可以輸出數組,對調試很有好處。
下面一一介紹。
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) }
以上是php輸出字串函數echo,print,printf,print_r和var_dump用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!