>  기사  >  백엔드 개발  >  PHP sprintf()实现格式化输出_PHP教程

PHP sprintf()实现格式化输出_PHP教程

WBOY
WBOY원래의
2016-07-13 17:14:261675검색

sprintf()函数在很多地方有很大的用处,就是我最近写的一个微信自动回复接口一下,其中有这么一段代码。

 代码如下 复制代码

$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;
                $toUsername = $postObj->ToUserName;
                $keyword = trim($postObj->Content);
                $time = time();
                $textTpl = "
 
 
 CreateTime>%s
 
 
 0
 
";
 $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,依此类推。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/628973.htmlTechArticlesprintf()函数在很多地方有很大的用处,就是我最近写的一个微信自动回复接口一下,其中有这么一段代码。 代码如下 复制代码 $postObj = si...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.