PHP學(xué)習(xí)之輸出字符串(echo,print,printf,print_r和var_dump)
更新時間:2011年04月17日 22:13:51 作者:
在PHP中,有四種方法輸出字符串。echo結(jié)構(gòu)可以一次輸出多個值;print()只可以輸出一個值;printf()可以格式化輸出;print_r()可以輸出數(shù)組,對調(diào)試很有好處。
下面一一進行介紹。
1. echo
echo 是PHP的一個關(guān)鍵字,它沒有返回值。在寫法上,它可以省略小括號。如下代碼:
echo 'Test String';
echo('Test String');
2. print
print 也是PHP的一個關(guān)鍵字,它有返回值,一般返回true,返回false的情況應(yīng)該沒有。在寫法上,它和echo一樣,可以省略小括號。如下代碼:
print 'Test String';
print('Test String');
3. printf
printf可以像C語言的printf一樣,格式化輸出一個字符串。它的格式和C語言差不多,都是以%開頭。其說明符定義如下。
b 參數(shù)為整數(shù),顯示其二進制
c 參數(shù)為整數(shù),顯示對應(yīng)ASCII字符
d 參數(shù)為整數(shù),顯示其十進制
f 參數(shù)為雙精度,顯示為浮點數(shù)
e 參數(shù)為雙精度,顯示為科學(xué)計數(shù)型
g 參數(shù)為雙精度,顯示為浮點數(shù)或科學(xué)計數(shù)型
o 參數(shù)為整數(shù),顯示其八進制
s 參數(shù)為字符串,顯示為字符串
u 參數(shù)為無符號整數(shù),顯示其十進制
x/X 參數(shù)為整數(shù),顯示其十六進制(分別為大小寫顯示)
% 輸出%要說明的是:
f,e默認小數(shù)點后六位,g在超過六位(加小數(shù)點)時,會四舍五入,如果四舍五入之后的值小于1000000會直接輸出,大于的1000000的話會顯示成科學(xué)計數(shù)型。f在值大于1.2e23輸出的結(jié)果是不對的。
以上除%以外,其它的都可以指定輸出總位數(shù)(小數(shù)點、E都算一位),并可以指定0或空格為補位符,還可以指定補位在左還是在右。
f,e可以指定小數(shù)點后位數(shù)。
如 %5d 表示輸出總位數(shù)為5,不足左補空格; %05d 表示輸出總位數(shù)為5,不足左補0; %05.1f 表示輸出總位數(shù)為5,不足左補0,小數(shù)點后1位; %-05.1f 表示輸出總位數(shù)為5,不足右補0,小數(shù)點后1位;
示例代碼:
printf("%7.2f", 1.2); // " 1.20"
printf("%-07.2f", 1.2); // "1.20000"
4. sprintf
sprintf和格式轉(zhuǎn)換和printf一樣,兩者區(qū)別在于printf直接輸出,而sprintf返回一個格式化后的字符串。
5. print_r和var_dump
print_r和var_dump都能輸出數(shù)組和對象,但print_r對布爾型的輸出不太明顯;var_dump輸出比較詳細,一般調(diào)試時用得多。
如下代碼:
$v = new test();
print_r($v);
var_dump($v);
class test {
public $num = 1;
public $str = "222";
public $bln = true;
結(jié)果為:
test Object
(
[num] => 1
[str] => 222
[bool] => 1
)
object(test)#1 (3) {
["num"]=>
int(1)
["str"]=>
string(3) "222"
["bool"]=>
bool(true)
}
參考資料:
PHP程序設(shè)計,2003,第四章 字符串,輸出字符串
1. echo
echo 是PHP的一個關(guān)鍵字,它沒有返回值。在寫法上,它可以省略小括號。如下代碼:
復(fù)制代碼 代碼如下:
echo 'Test String';
echo('Test String');
2. print
print 也是PHP的一個關(guān)鍵字,它有返回值,一般返回true,返回false的情況應(yīng)該沒有。在寫法上,它和echo一樣,可以省略小括號。如下代碼:
復(fù)制代碼 代碼如下:
print 'Test String';
print('Test String');
3. printf
printf可以像C語言的printf一樣,格式化輸出一個字符串。它的格式和C語言差不多,都是以%開頭。其說明符定義如下。
b 參數(shù)為整數(shù),顯示其二進制
c 參數(shù)為整數(shù),顯示對應(yīng)ASCII字符
d 參數(shù)為整數(shù),顯示其十進制
f 參數(shù)為雙精度,顯示為浮點數(shù)
e 參數(shù)為雙精度,顯示為科學(xué)計數(shù)型
g 參數(shù)為雙精度,顯示為浮點數(shù)或科學(xué)計數(shù)型
o 參數(shù)為整數(shù),顯示其八進制
s 參數(shù)為字符串,顯示為字符串
u 參數(shù)為無符號整數(shù),顯示其十進制
x/X 參數(shù)為整數(shù),顯示其十六進制(分別為大小寫顯示)
% 輸出%要說明的是:
f,e默認小數(shù)點后六位,g在超過六位(加小數(shù)點)時,會四舍五入,如果四舍五入之后的值小于1000000會直接輸出,大于的1000000的話會顯示成科學(xué)計數(shù)型。f在值大于1.2e23輸出的結(jié)果是不對的。
以上除%以外,其它的都可以指定輸出總位數(shù)(小數(shù)點、E都算一位),并可以指定0或空格為補位符,還可以指定補位在左還是在右。
f,e可以指定小數(shù)點后位數(shù)。
如 %5d 表示輸出總位數(shù)為5,不足左補空格; %05d 表示輸出總位數(shù)為5,不足左補0; %05.1f 表示輸出總位數(shù)為5,不足左補0,小數(shù)點后1位; %-05.1f 表示輸出總位數(shù)為5,不足右補0,小數(shù)點后1位;
示例代碼:
復(fù)制代碼 代碼如下:
printf("%7.2f", 1.2); // " 1.20"
printf("%-07.2f", 1.2); // "1.20000"
4. sprintf
sprintf和格式轉(zhuǎn)換和printf一樣,兩者區(qū)別在于printf直接輸出,而sprintf返回一個格式化后的字符串。
5. print_r和var_dump
print_r和var_dump都能輸出數(shù)組和對象,但print_r對布爾型的輸出不太明顯;var_dump輸出比較詳細,一般調(diào)試時用得多。
如下代碼:
復(fù)制代碼 代碼如下:
$v = new test();
print_r($v);
var_dump($v);
class test {
public $num = 1;
public $str = "222";
public $bln = true;
結(jié)果為:
復(fù)制代碼 代碼如下:
test Object
(
[num] => 1
[str] => 222
[bool] => 1
)
object(test)#1 (3) {
["num"]=>
int(1)
["str"]=>
string(3) "222"
["bool"]=>
bool(true)
}
參考資料:
PHP程序設(shè)計,2003,第四章 字符串,輸出字符串
相關(guān)文章
使用php通過Socket進行發(fā)信源碼,支持發(fā)信認證
使用php通過Socket進行發(fā)信源碼,支持發(fā)信認證...2006-10-10