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

