一、定义和用法

sprintf()函数把格式化的字符串写入变量中。

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

注释:如果%符号多于arg参数,则您必须使用占位符。占位符位于%符号之后,由数字和“\$”组成。

实例:

<?php
$number = 2;
$str = "Shanghai";
$txt = sprintf("There are %u million cars in %s.",$number,$str);
echo $txt;
?>
运行结果为:There are 2 million cars in Shanghai.

语法

sprintf(format,arg1,arg2,arg++)
参数 描述
format 必需。规定字符串以及如何格式化其中的变量。
可能的格式值:
%% 返回一个百分号%
%b  二进制数
%c  ASCII值对应的字符
%d  包含正负号的十进制数(负数、0、正数)
%e  使用小写的科学计数法(例如:1.2e+2)
%E  使用大写的科学计数法(例如:1.2E+2)
%u  不包含正负号的十进制数(大于等于0)
%f   浮点数(本地设置)
%F  浮点数(非本地设置)
%g  较短的%e和%f
%G 较短的%E和%f
%O  八进制数
%s   字符串
%x  十六进制数(小写字母)
%X  十六进制数(大写字母)

附加的格式值。必需放置在%和字母 之间(例如%.2f):

+(在数字前面加上+或-来定义数字的正负性。默认情况下,
只有负数才做标记,正数不做标记)
‘(规定使用什么作为填充,默认是空格。它必需与宽度指定器
一起使用。例如:%‘x20s(使用“x作为填充”))
-(左调整变量值)
[0-9](规定变量值的最小宽度)
.[0-9](规定小数位数或最大字符串长度)

注释:如果使用多个上述的格式值,它们必需按照以上的顺序使用。

arg1 必需。规定插到format字符串中第一个%符号处的参数。
arg2 可选。规定插到format字符串中第二个%符号处的参数。
arg++ 可选。规定插到format字符串中第三、四等%符号处的参数。

技术细节:

返回值:返回已格式化的字符串

二、更多实例

1.使用格式值%f:

<?php

$number = 123;

$txt = sprintf("%f",$number);

echo $txt;

?>

运行结果为:123.000000

2.使用占用符:

<?php

$number = 123;

$txt = sprintf("带两位小数:%\$.2f<br>不带小数:%1\$u",$number);

echo $txt;

?>

运行结果为:带有两位小数:123.00

不带小数:123

3.对所有可能的格式值的演示

<?php

$num1 = 123456789;

$num2 = -123456789;

$char = 50;       //ASCII字符50是2

//注释:格式值“%%”返回百分号

echo sprintf("%%b = %b",$num1)."<br>";  //二进制数                                结果:%b = 111010110111100110100010101

echo sprintf("%%c = %c",$char)."<br>";  //ASCII字符                                结果:%c = 2

echo sprintf("%%d = %d",$num1)."<br>";  //带符号的十进制数                  结果:%d = 123456789

echo sprintf("%%d = %d",$num2)."<br>";  //带符号的十进制数                  结果:%d = -123456789

echo sprintf("%%e = %e",$num1)."<br>";  //科学计数法(小写)               结果:%e = 1.234568e+8

echo sprintf("%%E = %E",$num1)."<br>";//科学计数法(大写)                结果:%E = 1.234568E+8

echo sprintf("%%u = %u",$num1)."<br>";//不带符号的十进制数(正)      结果:%u = 123456789

echo sprintf("%%u = %u",$num2)."<br>";//不带符号的十进制数(负)      结果:%u = 4171510507

    echo sprintf("%%f = %f",$num1)."<br>";//浮点数(视本地设置)               结果:%f = 123456789.000000
echo sprintf("%%F = %F",$num1)."<br>";//浮点数(不视本地设置)         结果:%F = 123456789.000000
echo sprintf("%%g = %g",$num1)."<br>";//短于%e 和%f                            结果:%g = 1.23457e+8
echo sprintf("%%G = %G",$num1)."<br>";//短于%E和%f                           结果:%G = 1.23457E+8
echo sprintf("%%o = %o",$num1)."<br>";//八进制数                                   结果:%o = 726746425
echo sprintf("%%s = %s",$num1)."<br>";//字符串                                       结果:%s = 123456789
echo sprintf("%%x = %x",$num1)."<br>";//十六进制(小写)                     结果:%x = 75bcd15
echo sprintf("%%X = %x",$num1)."<br>";//十六进制(大写)                    结果:%X = 75BCD15
echo sprintf("%%+d = %+d",$num1)."<br>";//符号说明符(正)                结果:%+d = +123456789
echo sprintf("%%+d = %+d",$num2)."<br>";//符号说明符(负)                结果:%+d = -123456789

?>

4.对字符串说明符的演示
<?php

$str1 = "Hello";

$str2 = "Hello world";

echo sprintf("[%s]",$str1."<br>");

echo sprintf("[%8s]",$str1."<br>");

echo sprintf("[%-8s]",$str1."<br>");

echo sprintf("[%08s]",$str1."<br>");

echo sprintf("[%'*8s]",$str1."<br>");

echo sprintf("[%8.8s]",$str2."<br>");

?>
运行结果为:[Hello]
                      [ Hello]
                      [Hello ]
                      [000Hello]
                      [***Hello]
                      [Hello wo]
此文章转载自:http://www.w3school.com.cn/php/func_string_sprintf.asp

PHP中 sprintf()格式化输出详解相关推荐

  1. Java之格式化字符串及格式化输出详解

    Java之格式化字符串及格式化输出详解: 格式化输出: Java 5引入了与C语言的printf函数风格类似的format方法和printf方法,这两个方法可用于java.io.PrintStream ...

  2. Python print函数及format()格式化输出详解

    今天继续给大家介绍Python相关知识,本文主要内容是Python print函数及format()格式化输出详解. 一.print()函数基本使用 print()函数是Python中用于向控制台输出 ...

  3. 关于printf(“%[tag]m.nf“) ——标准格式化输出の详解

    回顾C语言的时候发现一个比较基础性的知识,但网上很少人讲,并且也关系到了在线OJ的输入输出技巧,所以写个博客帮助大家理解标准格式化输出 首先我们要了解,转换说明 由什么构成 转换说明由: % + 0标 ...

  4. php sprintf u,PHP sprintf()格式化用法详解

    php sprintf函数是一个非常强大的函数,本篇文章特别记录一下php中的sprintf函数格式化字符串的相关用法. 定义和用法 sprintf() 函数把格式化的字符串写入一个变量中. 语法 s ...

  5. linux中top界面详解,Linux中top命令输出详解

    前言 Linux下的top命令我相信大家都用过,自从我接触Linux以来就一直用top查看进程的CPU和MEM排行榜.但是top命令的其他输出结果我都没有了解,这些指标都代表什么呢,什么情况下需要关注 ...

  6. mysql日期格式化 yyyymmdd_mysql中格式化日期详解

    1. DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. DATE_FORMAT(date,format) format参数的格式有 %a 缩写星期名 %b 缩写月名 %c 月,数值 ...

  7. java中的进制输出转换_Java I/O : Java中的进制详解

    作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...

  8. C语言中的sprint函数,求sprintf函数的详解

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:求sprintf函数的详解,要附带例,粘贴来的也可以,只 问题详情:还有就是我还想要一些常用的宽度修饰之类的输入或者输出格式:回答: ...

  9. python strptime函数转时间数组_python time.strptime格式化实例详解

    在python的时间使用时,我们无非就是输出字符串的形式,又或者是其他的形式跟字符串之间的来回转换.时间数组对于我们获取具体的年或是天数,都是常用的首段.本篇需要讲到的time.strptime函数, ...

  10. python中的format什么意思中文-Python中format()格式输出全解

    格式化输出:format() format():把传统的%替换为{}来实现格式化输出 1.使用位置参数:就是在字符串中把需要输出的变量值用{}来代替,然后用format()来修改使之成为想要的字符串, ...

最新文章

  1. Web网站的性能测试工具
  2. python android自动化_python在Android下的自动化测试用法
  3. 【开发者portal在线开发插件系列一】profile和基本上下行消息
  4. 前端开发需要掌握什么技术,成为一个高薪的web前端程序员很难吗?
  5. Python解压压缩包
  6. bugku-管理员登录-(X-forwarded-for)
  7. setsebool命令和设置命令
  8. 订单系统管理系统 开源_8个开源销售点系统
  9. KALI利用MS17-010漏洞入侵
  10. javaScript导出excel表格,数据量过大导出失败问题
  11. 2015-2022年历年真题考研数学二难度概述
  12. 纪念第一次2019河南省第十二届ACM大赛之旅
  13. 魔方cfop公式软件_【番外篇】八大魔方快速还原法图解介绍汇总大全!
  14. 关于bootstrapValidator 表单校验remote出现两次重复提交才能验证通过问题处理
  15. 巾帼绽芬芳 一起向未来(中篇)
  16. ubuntu20安装gcc_Ubuntu:软件常用安装方法(附WPS安装)
  17. 监督学习(supervised learning)与非监督学习(unsupervised learning)
  18. pdf转html?pdf转图片
  19. 观《白蛇缘起》小感,不想被剧透勿点
  20. 键盘钢琴(有空进来弹弹琴,真的可以弹的)

热门文章

  1. Nginx--流量限制(最有用的功能之一)
  2. Python3 字符串小练习
  3. Rds mysql 内存配置_RDS MySQL内存管理
  4. Apache网页与安全优化
  5. [openwrt] ubus实现进程间通信举例
  6. team多网卡绑定、桥接的搭建、tcpdump抓包
  7. Python Scrapy爬虫报错-Spider error processing
  8. 打造自己的域名转向
  9. MiWiFi小米mini自带U-Boot恢复系统全过程
  10. Cannot start container web: iptables failed: iptables -t nat -A DOCKER -p tcp -d 0/0 --dport 32797