深入理解php printf() 输出格式化的字符串


Posted in PHP onMay 23, 2016

php printf() 函数用于输出格式化的字符串,本文章向码农介绍php printf()函数的使用方法和基本使用实例,感兴趣的码农可以参考一下。

定义和用法

printf() 函数输出格式化的字符串。

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

注释:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入到 % 符号之后,由数字和 "\$" 组成。请参见例子 2。

提示:相关函数:sprintf()、 vprintf()、 vsprintf()、 fprintf() 和 vfprintf()

•fprintf()
•sprintf()
•vfprintf()
•vprintf()
•vsprintf() 

语法

printf(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): + (在数字前面加上 + 或 - 来定义数字的正负性。默认地,只有负数做标记,正数不做标记) ' (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。) - (左调整变量值) [0-9] (规定变量值的最小宽度) .[0-9] (规定小数位数或最大字符串长度) 注释:如果使用多个上述的格式值,它们必须按照上面的顺序进行使用,不能打乱。
arg1 必需。规定插到 format 字符串中第一个 % 符号处的参数。
arg2 必需。规定插到 format 字符串中第二个 % 符号处的参数。
arg++ 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。

 

技术细节

返回值: 返回被输出字符串的长度。
PHP 版本: 4+

 

实例

例子 1

使用格式值 %f:

<?php 
$number = 123; 
printf("%f",$number); 
?>

例子 2

使用占位符:

<?php 
$number = 123; 
printf("有两位小数:%1\$.2f<br>没有小数:%1\$u",$number); 
?>

例子 3

所有可能的格式值的演示:

<?php 
$num1 = 123456789; 
$num2 = -123456789; 
$char = 50; // ASCII 字符 50 是 2 
 
// 注释:格式值 "%%" 返回百分号 
printf("%%b = %b <br>",$num1); // 二进制数 
printf("%%c = %c <br>",$char); // ASCII 字符 
printf("%%d = %d <br>",$num1); // 带符号的十进制数 
printf("%%d = %d <br>",$num2); // 带符号的十进制数 
printf("%%e = %e <br>",$num1); // 科学计数法(小写) 
printf("%%E = %E <br>",$num1); // 科学计数法(大写) 
printf("%%u = %u <br>",$num1); // 不带符号的十进制数(正) 
printf("%%u = %u <br>",$num2); // 不带符号的十进制数(负) 
printf("%%f = %f <br>",$num1); // 浮点数(视本地设置) 
printf("%%F = %F <br>",$num1); // 浮点数(不视本地设置) 
printf("%%g = %g <br>",$num1); // 短于 %e 和 %f 
printf("%%G = %G <br>",$num1); // 短于 %E 和 %f 
printf("%%o = %o <br>",$num1); // 八进制数 
printf("%%s = %s <br>",$num1); // 字符串 
printf("%%x = %x <br>",$num1); // 十六进制数(小写) 
printf("%%X = %X <br>",$num1); // 十六进制数(大写) 
printf("%%+d = %+d <br>",$num1); // 符号说明符(正) 
printf("%%+d = %+d <br>",$num2); // 符号说明符(负) 
?>

例子 4

字符串说明符的演示:

<?php
$str1 = "Hello";
$str2 = "Hello world!";

printf("[%s]<br>",$str1);
printf("[%8s]<br>",$str1);
printf("[%-8s]<br>",$str1);
printf("[%08s]<br>",$str1);
printf("[%'*8s]<br>",$str1);
printf("[%8.8s]<br>",$str2);
?>

以上这篇深入理解php printf() 输出格式化的字符串就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
打造计数器DIY三步曲(中)
Oct 09 PHP
基于mysql的论坛(1)
Oct 09 PHP
缓存技术详谈―php
Dec 14 PHP
实用函数4
Nov 08 PHP
一些使用频率比较高的php函数
Oct 03 PHP
php 传值赋值与引用赋值的区别
Dec 29 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 PHP
php写入数据到CSV文件的方法
Mar 14 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
Jul 14 PHP
Ajax实现对静态页面的文章访问统计功能示例
Oct 10 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 PHP
PHP书写格式详解(必看)
May 23 #PHP
Smarty模板简单配置与使用方法示例
May 23 #PHP
Smarty模板引擎缓存机制详解
May 23 #PHP
Yii2分页的使用及其扩展方法详解
May 23 #PHP
CI框架扩展系统核心类的方法分析
May 23 #PHP
PHP strip_tags保留多个HTML标签的方法
May 22 #PHP
项目中应用Redis+Php的场景
May 22 #PHP
You might like
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
Javascript实现的鼠标经过时播放声音
2010/05/18 Javascript
javascript完美拖拽的实现方法
2013/09/29 Javascript
jQuery实现两款有动画功能的导航菜单代码
2015/09/16 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
javascript兼容性(实例讲解)
2017/08/15 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
JS中promise化微信小程序api
2018/04/12 Javascript
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
vue 做移动端微信公众号采坑经验记录
2018/04/26 Javascript
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
vue+webpack中配置ESLint
2018/11/07 Javascript
JavaScript闭包与作用域链实例分析
2019/01/21 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
Python切换pip安装源的方法详解
2016/11/18 Python
Python语言描述最大连续子序列和
2017/12/05 Python
python 中if else 语句的作用及示例代码
2018/03/05 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
基于Django实现日志记录报错信息
2019/12/17 Python
基于pytorch中的Sequential用法说明
2020/06/24 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
2020/07/31 Python
Saks Fifth Avenue澳洲/亚太地区:萨克斯第五大道精品百货店
2019/06/09 全球购物
汽车销售求职自荐信
2013/10/01 职场文书
中专生毕业自我鉴定
2013/11/01 职场文书
外语学院毕业生的自我鉴定
2013/11/28 职场文书
高三毕业生自我鉴定
2013/12/20 职场文书
图书室标语
2014/06/21 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
三年级学生评语大全
2014/12/26 职场文书