1、使用 echo 語句
使用 echo 可以打印變量和內容,其他可以是系統變量,也可以是HTML代碼,也可以是一個PHP表達式,如下示例:
$a = "12345"; // 變量賦值
$b = "this is string";
// 下面分別打印顯示兩個變量內容
echo $a ;
echo $b;
// 顯示由表單提交的內容
echo $_POST['UserName'];
$str1 = "FREEBSD";
$str2 = "PHP"; //HTML式文本
// 鏈接字符串$str1和$str2並顯示
echo $str1."and".$str2."is good partners." ;
?>
2、使用printf函數
printf函數用於格式化輸出字符串,主要用於字符串中以%開頭的格式字符串替換。
語法: boolean printf ( string format[,mixed args] )
請看下面的例子:
printf ( "$%01.2f", 43.2) ; // 運行結果 : $43.20
printf ( "%d bottles of beer on %s", 100 , "the wall" ) ;
// 運行結果: 100 bottles of beer on the wall
printf ( "%15s", "some text" ) ; // 運行結果: some text
?>
可以看到,以%開頭的格式字符串,則按順序進行參數替換顯示。如下所示:
printf ( "The %2\$s likes to %l\$s", "bark", "dog" ) ;
// 運行結果: The dog likes to bark
printf ( "The %l\$s says: %2\$s , %2\$s.","dog", "bark" ) ;
// 運行結果: The dog says : bark , bar.
3、使用sprintf 函數
sprintf 函數也用做字符串格式化。該函數與 printf 函數基本相同, 但它可以將轉換后的結果保存到一個字符串變量中,而不是直接輸出。
語法: string sprintf ( string format , mixed [args]... ) ;
其中參數 format 是轉換的格式,以百分比符號%開始到轉換字符為止。請見下面的腳本例子:
$var1 = 68.75 ;
$var2 = 54.35 ;
$var3 = $var1 + $var2 ;
// 變量$var3值為"123.1";
$formatted = sprintf ( "%01.2f ", $var3 ) ;
// 變量 $var3 值為"123.10"
?>
其中:%01.2f 的%符號是指定格式的開始,也就是從“起始字符”開始,直到出現“轉換字符”,格式化字符的工作正式結束。
在%
符號后面的0表示“填空字符”,如果位置為空就用0來填充,在0后面1規定小數點的前面的數字占位要有1位以上,把1換成2,若$var3的值為
1.23,則$formatted的值將為01.23。由於在小數點前面的數字只占了一位,按照上面所規定的格式,小數點前面數字應該占2位,現在只有1
位,所以用0來填滿。在%01后面的 .2 的意思是規定小數點后的數字,必須占2位。如果$money的值為1.234,則$formatted
的值將為1.23。為什么4不見了呢?因為在小數點后面按照上面的規定,必須且僅能占2位。可是$var3的值中小數點占了3位,所以4被去掉了,只剩下
23 。
最后,以f 轉換字符結尾,其他轉換字符請參考下面的字符轉換列表。
轉換字符 功能說明
% 打印出百分比符號,不轉換
B 整數轉成二進制數
C 整數轉成ASCII字符
D 整數轉成十進制
F 倍精度數字轉成浮點數
O 整數轉成八進制數
S 整數轉成字符串
x/X 整數轉成小寫/大寫的十六進制數
如果在%起始符號后面加上 - (負號)則會把數字按右對齊的方式進行處理。如下例所示。
$money = 1.4 ;
$formatted = sprintf ( "%-02.2f", $money ) ;
echo $formatted ;
?>
這時候,$formatted 將不會再是01.40而是1.400
轉換的格式一次包括如下:
1、填空字符。0的話表示空格填0;空格是默認值。
2、對齊方式。默認值為向右對齊,負號表示向左對齊。
3、字段寬度。為最小寬度。
4、精確度。指在小數點后的浮點位數。
4、 關於echo 與 print語句的區別
echo是一個語句,單純顯示文本信息或變量值,而卻沒有返回值;
printf (包括printf、sprintf )則是一個函數,可以返回一個布爾值(True 或 False);
echo 語句沒有返回值,但是可以使用 . (小圓點)來拼接字符串,而print則不可以。如果單純做顯示,使用 echo的效率會高一些(無返回值)。
5.var_dump
打印變量的相關信息,
此函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構。
// 字符串變量
$a = "123";
var_dump($a);
運行結果:string(3) "123"
打印出該變量的:類型,長度,value值;
// 數值型數量
$b = 456;
var_dump($b);
運行結果:int(456)
打印出該變量的:類型,value值;
// 數組
$c = array('PHP起點', 'phpqidian.com');
var_dump($c);
運行結果:array(2) {
[0]=>
string(9) "PHP璧風偣"
[1]=>
string(13) "phpqidian.com"
}
打印出該數組的:類型,元素數,及元素對應的信息;
// 布爾類型變量
$d = true;
var_dump($d);
運行結果:bool(true)
使用 echo 可以打印變量和內容,其他可以是系統變量,也可以是HTML代碼,也可以是一個PHP表達式,如下示例:
$a = "12345"; // 變量賦值
$b = "this is string";
// 下面分別打印顯示兩個變量內容
echo $a ;
echo $b;
// 顯示由表單提交的內容
echo $_POST['UserName'];
$str1 = "FREEBSD";
$str2 = "PHP"; //HTML式文本
// 鏈接字符串$str1和$str2並顯示
echo $str1."and".$str2."is good partners." ;
?>
2、使用printf函數
printf函數用於格式化輸出字符串,主要用於字符串中以%開頭的格式字符串替換。
語法: boolean printf ( string format[,mixed args] )
請看下面的例子:
printf ( "$%01.2f", 43.2) ; // 運行結果 : $43.20
printf ( "%d bottles of beer on %s", 100 , "the wall" ) ;
// 運行結果: 100 bottles of beer on the wall
printf ( "%15s", "some text" ) ; // 運行結果: some text
?>
可以看到,以%開頭的格式字符串,則按順序進行參數替換顯示。如下所示:
printf ( "The %2\$s likes to %l\$s", "bark", "dog" ) ;
// 運行結果: The dog likes to bark
printf ( "The %l\$s says: %2\$s , %2\$s.","dog", "bark" ) ;
// 運行結果: The dog says : bark , bar.
3、使用sprintf 函數
sprintf 函數也用做字符串格式化。該函數與 printf 函數基本相同, 但它可以將轉換后的結果保存到一個字符串變量中,而不是直接輸出。
語法: string sprintf ( string format , mixed [args]... ) ;
其中參數 format 是轉換的格式,以百分比符號%開始到轉換字符為止。請見下面的腳本例子:
$var1 = 68.75 ;
$var2 = 54.35 ;
$var3 = $var1 + $var2 ;
// 變量$var3值為"123.1";
$formatted = sprintf ( "%01.2f ", $var3 ) ;
// 變量 $var3 值為"123.10"
?>
其中:%01.2f 的%符號是指定格式的開始,也就是從“起始字符”開始,直到出現“轉換字符”,格式化字符的工作正式結束。
在%
符號后面的0表示“填空字符”,如果位置為空就用0來填充,在0后面1規定小數點的前面的數字占位要有1位以上,把1換成2,若$var3的值為
1.23,則$formatted的值將為01.23。由於在小數點前面的數字只占了一位,按照上面所規定的格式,小數點前面數字應該占2位,現在只有1
位,所以用0來填滿。在%01后面的 .2 的意思是規定小數點后的數字,必須占2位。如果$money的值為1.234,則$formatted
的值將為1.23。為什么4不見了呢?因為在小數點后面按照上面的規定,必須且僅能占2位。可是$var3的值中小數點占了3位,所以4被去掉了,只剩下
23 。
最后,以f 轉換字符結尾,其他轉換字符請參考下面的字符轉換列表。
轉換字符 功能說明
% 打印出百分比符號,不轉換
B 整數轉成二進制數
C 整數轉成ASCII字符
D 整數轉成十進制
F 倍精度數字轉成浮點數
O 整數轉成八進制數
S 整數轉成字符串
x/X 整數轉成小寫/大寫的十六進制數
如果在%起始符號后面加上 - (負號)則會把數字按右對齊的方式進行處理。如下例所示。
$money = 1.4 ;
$formatted = sprintf ( "%-02.2f", $money ) ;
echo $formatted ;
?>
這時候,$formatted 將不會再是01.40而是1.400
轉換的格式一次包括如下:
1、填空字符。0的話表示空格填0;空格是默認值。
2、對齊方式。默認值為向右對齊,負號表示向左對齊。
3、字段寬度。為最小寬度。
4、精確度。指在小數點后的浮點位數。
4、 關於echo 與 print語句的區別
echo是一個語句,單純顯示文本信息或變量值,而卻沒有返回值;
printf (包括printf、sprintf )則是一個函數,可以返回一個布爾值(True 或 False);
echo 語句沒有返回值,但是可以使用 . (小圓點)來拼接字符串,而print則不可以。如果單純做顯示,使用 echo的效率會高一些(無返回值)。
5.var_dump
打印變量的相關信息,
此函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構。
// 字符串變量
$a = "123";
var_dump($a);
運行結果:string(3) "123"
打印出該變量的:類型,長度,value值;
// 數值型數量
$b = 456;
var_dump($b);
運行結果:int(456)
打印出該變量的:類型,value值;
// 數組
$c = array('PHP起點', 'phpqidian.com');
var_dump($c);
運行結果:array(2) {
[0]=>
string(9) "PHP璧風偣"
[1]=>
string(13) "phpqidian.com"
}
打印出該數組的:類型,元素數,及元素對應的信息;
// 布爾類型變量
$d = true;
var_dump($d);
運行結果:bool(true)
