溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php中sprintf與printf函數(shù)有什么區(qū)別

發(fā)布時(shí)間:2021-01-06 15:35:24 來源:億速云 閱讀:150 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了php中sprintf與printf函數(shù)有什么區(qū)別,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

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ī)定字符串以及如何格式化其中的變量。

可能的格式值:

  • %% - 返回一個(gè)百分號(hào) %

  • %b - 二進(jìn)制數(shù)

  • %c - ASCII 值對(duì)應(yīng)的字符

  • %d - 包含正負(fù)號(hào)的十進(jìn)制數(shù)(負(fù)數(shù)、0、正數(shù))

  • %e - 使用小寫的科學(xué)計(jì)數(shù)法(例如 1.2e+2)

  • %E - 使用大寫的科學(xué)計(jì)數(shù)法(例如 1.2E+2)

  • %u - 不包含正負(fù)號(hào)的十進(jìn)制數(shù)(大于等于 0)

  • %f - 浮點(diǎn)數(shù)(本地設(shè)置)

  • %F - 浮點(diǎn)數(shù)(非本地設(shè)置)

  • %g - 較短的 %e 和 %f

  • %G - 較短的 %E 和 %f

  • %o - 八進(jìn)制數(shù)

  • %s - 字符串

  • %x - 十六進(jìn)制數(shù)(小寫字母)

  • %X - 十六進(jìn)制數(shù)(大寫字母)

附加的格式值。必需放置在 % 和字母之間(例如 %.2f):

  • + (在數(shù)字前面加上 + 或 - 來定義數(shù)字的正負(fù)性。默認(rèn)情況下,只有負(fù)數(shù)才做標(biāo)記,正數(shù)不做標(biāo)記)

  • ' (規(guī)定使用什么作為填充,默認(rèn)是空格。它必須與寬度指定器一起使用。例如:%'x20s(使用 "x" 作為填充))

  • - (左調(diào)整變量值)

  • [0-9] (規(guī)定變量值的最小寬度)

  • .[0-9] (規(guī)定小數(shù)位數(shù)或最大字符串長(zhǎng)度)

注釋:如果使用多個(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ī)定字符串以及如何格式化其中的變量。

可能的格式值:

  • %% - 返回一個(gè)百分號(hào) %

  • %b - 二進(jìn)制數(shù)

  • %c - ASCII 值對(duì)應(yīng)的字符

  • %d - 包含正負(fù)號(hào)的十進(jìn)制數(shù)(負(fù)數(shù)、0、正數(shù))

  • %e - 使用小寫的科學(xué)計(jì)數(shù)法(例如 1.2e+2)

  • %E - 使用大寫的科學(xué)計(jì)數(shù)法(例如 1.2E+2)

  • %u - 不包含正負(fù)號(hào)的十進(jìn)制數(shù)(大于等于 0)

  • %f - 浮點(diǎn)數(shù)(本地設(shè)置)

  • %F - 浮點(diǎn)數(shù)(非本地設(shè)置)

  • %g - 較短的 %e 和 %f

  • %G - 較短的 %E 和 %f

  • %o - 八進(jìn)制數(shù)

  • %s - 字符串

  • %x - 十六進(jìn)制數(shù)(小寫字母)

  • %X - 十六進(jìn)制數(shù)(大寫字母)

附加的格式值。必需放置在 % 和字母之間(例如 %.2f):

  • + (在數(shù)字前面加上 + 或 - 來定義數(shù)字的正負(fù)性。默認(rèn)地,只有負(fù)數(shù)做標(biāo)記,正數(shù)不做標(biāo)記)

  • ' (規(guī)定使用什么作為填充,默認(rèn)是空格。它必須與寬度指定器一起使用。)

  • - (左調(diào)整變量值)

  • [0-9] (規(guī)定變量值的最小寬度)

  • .[0-9] (規(guī)定小數(shù)位數(shù)或最大字符串長(zhǎng)度)

注釋:如果使用多個(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.

上述內(nèi)容就是php中sprintf與printf函數(shù)有什么區(qū)別,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI