PHP sprintf() 函數
把百分號(%)符號替換成一個作為參數進行傳遞的變量:
<?php $number = 2; $str = "Shanghai"; $txt = sprintf("There are %u million cars in %s.",$number,$str); echo $txt; ?>
定義和用法
sprintf() 函數把格式化的字符串寫入變量中。
arg1、arg2、++ 參數將被插入到主字符串中的百分號(%)符號處。該函數是逐步執行的。在第一個 % 符號處,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。
注釋:如果 % 符號多於 arg 參數,則您必須使用占位符。占位符位於 % 符號之後,由數字和 "\$" 組成。
語法
必需。規定字符串以及如何格式化其中的變量。
可能的格式值:
附加的格式值。必需放置在 % 和字母之間(例如 %.2f):
注釋:如果使用多個上述的格式值,它們必須按照以上順序使用。
arg1 必需。規定插到 format 字符串中第一個 % 符號處的參數。 arg2 可選。規定插到 format 字符串中第二個 % 符號處的參數。 arg++ 可選。規定插到 format 字符串中第三、四等 % 符號處的參數。PHP printf() 函數
輸出格式化的字符串:
<?php $number = 9; $str = "北京"; printf("在%s有 %u 百萬輛自行車。",$str,$number); ?>
定義和用法
printf() 函數輸出格式化的字符串。
語法
printf(format,arg1,arg2,arg++)
必需。規定字符串以及如何格式化其中的變量。
可能的格式值:
附加的格式值。必需放置在 % 和字母之間(例如 %.2f):
注釋:如果使用多個上述的格式值,它們必須按照上面的順序進行使用,不能打亂。
arg1 必需。規定插到 format 字符串中第一個 % 符號處的參數。 arg2 必需。規定插到 format 字符串中第二個 % 符號處的參數。 arg++ 可選。規定插到 format 字符串中第三、四等等 % 符號處的參數。下面是一個示例:四捨五入保留小數點後兩位
<?php $num1 = 21; echo sprintf("%0.2f",$num1)."<br />"; //輸出 21.00 $num2 = 16.3287; echo sprintf("%0.2f",$num2)."<br />"; //輸出 16.33 $num3 = 32.12329; echo sprintf("%0.2f",$num3)."<br />"; //輸出 32.12 ?>
解釋下 %0.2f 的含義:
% 表示起始字符
0 表示空位用0填滿
2 表示小數點後必須占兩位
f 表示轉換成浮點數
轉換字符
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
% 印出百分比符號,不轉換。
b 整數轉成二進位。
c 整數轉成對應的 ASCII 字元。
d 整數轉成十進位。
f 倍精確度數字轉成浮點數。
o 整數轉成八進位。
s 整數轉成字串。
x 整數轉成小寫十六進位。
X 整數轉成大寫十六進位。
printf與sprintf的區別
1. printf函數:
int printf ( string format [, mixed args [, mixed ...]] ) Produces output according to format , which is described in the documentation for sprintf() . Returns the length of the outputted string.
把文字格式化以後輸出,如:
$name="hunte"; $age=25; printf("my name is %s, age %d", $name, $age);
2. sprintf函數:
string sprintf ( string format [, mixed args [, mixed ...]] ) Returns a string produced according to the formatting string format .
跟printf相似,但不打印,而是返回格式化後的文字,其他的與printf一樣。
3. print函數:
是函數,可以返回一個值,只能有一個參數。
int print ( string arg ) Outputs arg . Returns 1 , always.