深入淺析php中sprintf與printf函數(shù)的用法及區(qū)別
PHP sprintf() 函數(shù)
把百分號(%)符號替換成一個作為參數(shù)進行傳遞的變量:
<?php
$number = 2;
$str = "Shanghai";
$txt = sprintf("There are %u million cars in %s.",$number,$str);
echo $txt;
?>
定義和用法
sprintf() 函數(shù)把格式化的字符串寫入變量中。
arg1、arg2、++ 參數(shù)將被插入到主字符串中的百分號(%)符號處。該函數(shù)是逐步執(zhí)行的。在第一個 % 符號處,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。
注釋:如果 % 符號多于 arg 參數(shù),則您必須使用占位符。占位符位于 % 符號之后,由數(shù)字和 "\$" 組成。
語法
| 參數(shù) | 描述 |
|---|---|
| format |
必需。規(guī)定字符串以及如何格式化其中的變量。 可能的格式值:
附加的格式值。必需放置在 % 和字母之間(例如 %.2f):
注釋:如果使用多個上述的格式值,它們必須按照以上順序使用。 |
| arg1 | 必需。規(guī)定插到 format 字符串中第一個 % 符號處的參數(shù)。 |
| arg2 | 可選。規(guī)定插到 format 字符串中第二個 % 符號處的參數(shù)。 |
| arg++ | 可選。規(guī)定插到 format 字符串中第三、四等 % 符號處的參數(shù)。 |
PHP printf() 函數(shù)
輸出格式化的字符串:
<?php
$number = 9;
$str = "北京";
printf("在%s有 %u 百萬輛自行車。",$str,$number);
?>
定義和用法
printf() 函數(shù)輸出格式化的字符串。
語法
printf(format,arg1,arg2,arg++)
| 參數(shù) | 描述 |
|---|---|
| format |
必需。規(guī)定字符串以及如何格式化其中的變量。 可能的格式值:
附加的格式值。必需放置在 % 和字母之間(例如 %.2f):
注釋:如果使用多個上述的格式值,它們必須按照上面的順序進行使用,不能打亂。 |
| arg1 | 必需。規(guī)定插到 format 字符串中第一個 % 符號處的參數(shù)。 |
| arg2 | 必需。規(guī)定插到 format 字符串中第二個 % 符號處的參數(shù)。 |
| arg++ | 可選。規(guī)定插到 format 字符串中第三、四等等 % 符號處的參數(shù)。 |
下面是一個示例:四舍五入保留小數(shù)點后兩位
<?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 表示小數(shù)點后必須占兩位
f 表示轉(zhuǎn)換成浮點數(shù)
轉(zhuǎn)換字符
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
% 印出百分比符號,不轉(zhuǎn)換。
b 整數(shù)轉(zhuǎn)成二進位。
c 整數(shù)轉(zhuǎn)成對應(yīng)的 ASCII 字元。
d 整數(shù)轉(zhuǎn)成十進位。
f 倍精確度數(shù)字轉(zhuǎn)成浮點數(shù)。
o 整數(shù)轉(zhuǎn)成八進位。
s 整數(shù)轉(zhuǎn)成字串。
x 整數(shù)轉(zhuǎn)成小寫十六進位。
X 整數(shù)轉(zhuǎn)成大寫十六進位。
printf與sprintf的區(qū)別
1. printf函數(shù):
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函數(shù):
string sprintf ( string format [, mixed args [, mixed ...]] ) Returns a string produced according to the formatting string format .
跟printf相似,但不打印,而是返回格式化后的文字,其他的與printf一樣。
3. print函數(shù):
是函數(shù),可以返回一個值,只能有一個參數(shù)。
int print ( string arg ) Outputs arg . Returns 1 , always.
相關(guān)文章
利用laravel+ajax實現(xiàn)文件上傳功能方法示例
最近在做的項目基于Laravel開發(fā),需要用到Ajax上傳,查了些資料,自己整理了下可用的方法。下面這篇文章主要給大家介紹了關(guān)于利用laravel+ajax實現(xiàn)文件上傳功能的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-08-08
基于php+MySql實現(xiàn)學生信息管理系統(tǒng)實例
這篇文章主要介紹了基于php+MySql實現(xiàn)學生信息管理系統(tǒng)實例,文中通過圖片功能介紹的非常詳細,文章末尾附帶項目源碼,需要的朋友可以參考下2020-08-08
PHP使用php-resque庫配合Redis實現(xiàn)MQ消息隊列的教程
這篇文章主要介紹了PHP使用php-resque庫配合Redis實現(xiàn)MQ消息隊列的教程,將展示php-resque的安裝部署及一個Worker隊列的運行過程,需要的朋友可以參考下2016-06-06
PHP實現(xiàn)一個二維碼同時支持支付寶和微信支付的示例
這篇文章主要介紹了PHP實現(xiàn)一個二維碼同時支持支付寶和微信支付的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02
Laravel Reponse響應(yīng)客戶端示例詳解
這篇文章主要給大家介紹了關(guān)于Laravel Reponse響應(yīng)客戶端的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09

