標籤:
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表示“填Null 字元”,如果位置為空白就用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、填Null 字元。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)
常用PHP變數輸出:echo, prinf, sprintf, var_dump