PHP中 sprintf()格式化输出详解
一、定义和用法
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
?>
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()格式化输出详解相关推荐
- Java之格式化字符串及格式化输出详解
Java之格式化字符串及格式化输出详解: 格式化输出: Java 5引入了与C语言的printf函数风格类似的format方法和printf方法,这两个方法可用于java.io.PrintStream ...
- Python print函数及format()格式化输出详解
今天继续给大家介绍Python相关知识,本文主要内容是Python print函数及format()格式化输出详解. 一.print()函数基本使用 print()函数是Python中用于向控制台输出 ...
- 关于printf(“%[tag]m.nf“) ——标准格式化输出の详解
回顾C语言的时候发现一个比较基础性的知识,但网上很少人讲,并且也关系到了在线OJ的输入输出技巧,所以写个博客帮助大家理解标准格式化输出 首先我们要了解,转换说明 由什么构成 转换说明由: % + 0标 ...
- php sprintf u,PHP sprintf()格式化用法详解
php sprintf函数是一个非常强大的函数,本篇文章特别记录一下php中的sprintf函数格式化字符串的相关用法. 定义和用法 sprintf() 函数把格式化的字符串写入一个变量中. 语法 s ...
- linux中top界面详解,Linux中top命令输出详解
前言 Linux下的top命令我相信大家都用过,自从我接触Linux以来就一直用top查看进程的CPU和MEM排行榜.但是top命令的其他输出结果我都没有了解,这些指标都代表什么呢,什么情况下需要关注 ...
- mysql日期格式化 yyyymmdd_mysql中格式化日期详解
1. DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据. DATE_FORMAT(date,format) format参数的格式有 %a 缩写星期名 %b 缩写月名 %c 月,数值 ...
- java中的进制输出转换_Java I/O : Java中的进制详解
作者:李强强 上一篇,泥瓦匠基础地讲了下Java I/O : Bit Operation 位运算.这一讲,泥瓦匠带你走进Java中的进制详解. 一.引子 在Java世界里,99%的工作都是处理这高层. ...
- C语言中的sprint函数,求sprintf函数的详解
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:求sprintf函数的详解,要附带例,粘贴来的也可以,只 问题详情:还有就是我还想要一些常用的宽度修饰之类的输入或者输出格式:回答: ...
- python strptime函数转时间数组_python time.strptime格式化实例详解
在python的时间使用时,我们无非就是输出字符串的形式,又或者是其他的形式跟字符串之间的来回转换.时间数组对于我们获取具体的年或是天数,都是常用的首段.本篇需要讲到的time.strptime函数, ...
- python中的format什么意思中文-Python中format()格式输出全解
格式化输出:format() format():把传统的%替换为{}来实现格式化输出 1.使用位置参数:就是在字符串中把需要输出的变量值用{}来代替,然后用format()来修改使之成为想要的字符串, ...
最新文章
- Web网站的性能测试工具
- python android自动化_python在Android下的自动化测试用法
- 【开发者portal在线开发插件系列一】profile和基本上下行消息
- 前端开发需要掌握什么技术,成为一个高薪的web前端程序员很难吗?
- Python解压压缩包
- bugku-管理员登录-(X-forwarded-for)
- setsebool命令和设置命令
- 订单系统管理系统 开源_8个开源销售点系统
- KALI利用MS17-010漏洞入侵
- javaScript导出excel表格,数据量过大导出失败问题
- 2015-2022年历年真题考研数学二难度概述
- 纪念第一次2019河南省第十二届ACM大赛之旅
- 魔方cfop公式软件_【番外篇】八大魔方快速还原法图解介绍汇总大全!
- 关于bootstrapValidator 表单校验remote出现两次重复提交才能验证通过问题处理
- 巾帼绽芬芳 一起向未来(中篇)
- ubuntu20安装gcc_Ubuntu:软件常用安装方法(附WPS安装)
- 监督学习(supervised learning)与非监督学习(unsupervised learning)
- pdf转html?pdf转图片
- 观《白蛇缘起》小感,不想被剧透勿点
- 键盘钢琴(有空进来弹弹琴,真的可以弹的)
热门文章
- Nginx--流量限制(最有用的功能之一)
- Python3 字符串小练习
- Rds mysql 内存配置_RDS MySQL内存管理
- Apache网页与安全优化
- [openwrt] ubus实现进程间通信举例
- team多网卡绑定、桥接的搭建、tcpdump抓包
- Python Scrapy爬虫报错-Spider error processing
- 打造自己的域名转向
- MiWiFi小米mini自带U-Boot恢复系统全过程
- Cannot start container web: iptables failed: iptables -t nat -A DOCKER -p tcp -d 0/0 --dport 32797