sprintf()函數(shù)在很多地方有很大的用處,就是我最近寫(xiě)的一個(gè)微信自動(dòng)回復(fù)接口一下,其中有這么一段代碼.
實(shí)例代碼如下:
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $keyword = trim($postObj->Content); $time = time(); $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr;
可能很多朋友看了后不知道為什么要這樣寫(xiě),這樣寫(xiě)的后面的%S是什么意思,下面我平進(jìn)入話題
語(yǔ)法
string sprintf ( string $format [, mixed $args [, mixed $... ]] )?
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
參數(shù) 描述?
format 必需.轉(zhuǎn)換格式.?
args 可選.規(guī)定插到 format 字符串中 % 符號(hào)處的參數(shù).
說(shuō)明
參數(shù)format 字符串是由零個(gè)或多個(gè)指令組成: 普通字符 (除了%) 將直接復(fù)制到結(jié)果, ?轉(zhuǎn)換指示符, 每一種結(jié)果取其自己的參數(shù). 這適用于 sprintf()和printf().
參數(shù) format 是轉(zhuǎn)換的格式,以百分比符號(hào) ("%") 開(kāi)始到轉(zhuǎn)換字符結(jié)束.下面的可能的 format 值:
1.一個(gè)可選的符號(hào)指示符強(qiáng)制一個(gè)符號(hào)(- or +)用在一個(gè)數(shù)字上. 默認(rèn)情況下, 只有 - 符號(hào)用在一個(gè)數(shù)字上如果它是負(fù)值 . 這個(gè)指示符同樣強(qiáng)制正數(shù)附加一個(gè)+符號(hào).
2.一個(gè)可選的 填充指示符 是說(shuō)什么字符將用于填充結(jié)果到正確的字符串長(zhǎng)度. 這可能是一個(gè)空白字符或者一個(gè)0(zero character). ?默認(rèn)填充空白. 能指定一個(gè)替換填充字符 通過(guò)加一個(gè)單引號(hào)前綴(').
3.一個(gè)可選的 對(duì)齊指示符 是說(shuō) 結(jié)果應(yīng)該是左對(duì)齊或右對(duì)齊. 默認(rèn)是右對(duì)齊; 一個(gè) - 字符在這里將使它左對(duì)齊.
4.一個(gè)可選的數(shù)字, 一個(gè)寬度指示符 是說(shuō)這種轉(zhuǎn)換應(yīng)該導(dǎo)致有多少字符(最少).
5.一個(gè)可選的 精度指示符 在形式上是一個(gè)句點(diǎn) ('.') 緊隨其后的是一個(gè)可選的十進(jìn)制數(shù)字字符串,就是說(shuō)有多少十進(jìn)制數(shù)字應(yīng)該被顯示為浮點(diǎn)數(shù). 當(dāng)用這個(gè)指示符在一個(gè)字符串 它作為一個(gè)中斷點(diǎn), 設(shè)置一個(gè)最大字符限制給字符串.
6.一個(gè)類(lèi)型指示符 是說(shuō) 參數(shù)數(shù)據(jù)應(yīng)當(dāng)被當(dāng)作什么類(lèi)型. 可能的類(lèi)型:
% - 返回百分比符號(hào) b - 二進(jìn)制數(shù) c - 依照 ASCII 值的字符 d - 帶符號(hào)十進(jìn)制數(shù) e - 科學(xué)計(jì)數(shù)法(比如 1.5e+3) E - 科學(xué)計(jì)數(shù)法(比如 1.2E+2). (大寫(xiě)字母) u - 無(wú)符號(hào)十進(jìn)制數(shù) f - 浮點(diǎn)數(shù)(local settings aware) F - 浮點(diǎn)數(shù)(not local settings aware) g - shorter of %e and %f. G - shorter of %E and %f. o - 八進(jìn)制數(shù) s - 字符串 x - 十六進(jìn)制數(shù)(小寫(xiě)字母) X - 十六進(jìn)制數(shù)(大寫(xiě)字母)
arg1, arg2, agr++ 等參數(shù)將插入到主字符串中的百分號(hào) (%) 符號(hào)處.該函數(shù)是逐步執(zhí)行的.在第一個(gè) % 符號(hào)中,插入 arg1,在第二個(gè) % 符號(hào)處,插入 arg2,依此類(lèi)推.
教程網(wǎng)址:
歡迎收藏∩_∩但請(qǐng)保留本文鏈接。
PHP怎么學(xué)習(xí)?PHP怎么入門(mén)?PHP在哪學(xué)?PHP怎么學(xué)才快?不用擔(dān)心,這里為大家提供了PHP速學(xué)教程(入門(mén)到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)