首頁  >  文章  >  後端開發  >  php輸出字串函數echo,print,printf,print_r和var_dump用法詳解

php輸出字串函數echo,print,printf,print_r和var_dump用法詳解

伊谢尔伦
伊谢尔伦原創
2017-06-24 14:03:261594瀏覽

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn