Home > php教程 > php手册 > body text

PHP sprintf()实现格式化输出

WBOY
Release: 2016-05-25 16:47:32
Original
1498 people have browsed it

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;
Copy after login

可能很多朋友看了后不知道为什么要这样写,这样写的后面的%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 - 十六进制数(大写字母)
Copy after login

arg1, arg2, agr++ 等参数将插入到主字符串中的百分号 (%) 符号处.该函数是逐步执行的.在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推.


教程网址:

欢迎收藏∩_∩但请保留本文链接。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!