程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP sprintf()實現格式化輸出

PHP sprintf()實現格式化輸出

編輯:關於PHP編程

sprintf()函數在很多地方有很大的用處,就是我最近寫的一個微信自動回復接口一下,其中有這麼一段代碼。  代碼如下 復制代碼

$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;

可能很多朋友看了後不知道為什麼要這樣寫,這樣寫的後面的%S是什麼意思,下面我平進入話題

語法
string sprintf ( string $format [, mixed $args [, mixed $... ]] )
參數 描述
format 必需。轉換格式。
args 可選。規定插到 format 字符串中 % 符號處的參數。

說明
 
參數format 字符串是由零個或多個指令組成: 普通字符 (除了%) 將直接復制到結果,  轉換指示符, 每一種結果取其自己的參數. 這適用於 sprintf()和printf().

參數 format 是轉換的格式,以百分比符號 (“%”) 開始到轉換字符結束。下面的可能的 format 值:

1.一個可選的符號指示符強制一個符號(- or +)用在一個數字上. 默認情況下, 只有 – 符號用在一個數字上如果它是負值 。 這個指示符同樣強制正數附加一個+符號。

2.一個可選的 填充指示符 是說什麼字符將用於填充結果到正確的字符串長度. 這可能是一個空白字符或者一個0(zero character).  默認填充空白. 能指定一個替換填充字符 通過加一個單引號前綴(’)。

3.一個可選的 對齊指示符 是說 結果應該是左對齊或右對齊. 默認是右對齊; 一個 - 字符在這裡將使它左對齊。

4.一個可選的數字, 一個寬度指示符 是說這種轉換應該導致有多少字符(最少)。

5.一個可選的 精度指示符 在形式上是一個句點 (‘.’) 緊隨其後的是一個可選的十進制數字字符串,就是說有多少十進制數字應該被顯示為浮點數。 當用這個指示符在一個字符串 它作為一個中斷點, 設置一個最大字符限制給字符串.

6.一個類型指示符 是說 參數數據應當被當作什麼類型. 可能的類型:

% – 返回百分比符號
b – 二進制數
c – 依照 ASCII 值的字符
d – 帶符號十進制數
e – 科學計數法(比如 1.5e+3)
E – 科學計數法(比如 1.2E+2). (大寫字母)
u – 無符號十進制數
f – 浮點數(local settings aware)
F – 浮點數(not local settings aware)
g – shorter of %e and %f.
G – shorter of %E and %f.
o – 八進制數
s – 字符串
x – 十六進制數(小寫字母)
X – 十六進制數(大寫字母)
arg1, arg2, agr++ 等參數將插入到主字符串中的百分號 (%) 符號處。該函數是逐步執行的。在第一個 % 符號中,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved