PHP sprintf()實(shí)現(xiàn)格式化輸出
May 25, 2016 pm 04:47 PMsprintf()函數(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 $... ]] )
參數(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è)類型指示符 是說(shuō) 參數(shù)數(shù)據(jù)應(yīng)當(dāng)被當(dāng)作什么類型. 可能的類型:
% - 返回百分比符號(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,依此類推.
教程網(wǎng)址:
歡迎收藏∩_∩但請(qǐng)保留本文鏈接。

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)