深入理解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 相关文章推荐
PHP性能优化工具篇Benchmark类调试执行时间
Dec 06 PHP
PHP file_exists问题杂谈
May 07 PHP
鸡肋的PHP单例模式应用详解
Jun 03 PHP
php中autoload的用法总结
Nov 08 PHP
php curl 获取https请求的2种方法
Apr 27 PHP
PHP在线书签系统分享
Jan 04 PHP
PHP中的数组处理函数实例总结
Jan 09 PHP
PHP常用技巧汇总
Mar 04 PHP
PHP基于单例模式编写PDO类的方法
Sep 13 PHP
php探针使用原理和技巧讲解
Sep 17 PHP
php解决约瑟夫环算法实例分析
Sep 30 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
May 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中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
2016/11/05 PHP
php readfile()修改文件上传大小设置
2017/08/11 PHP
AeroWindow 基于JQuery的弹出窗口插件
2011/06/27 Javascript
JS父页面与子页面相互传值方法
2014/03/05 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
2016/05/18 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
JS实现的Unicode编码转换操作示例
2017/04/28 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
Python中的urllib模块使用详解
2015/07/07 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
python实现多线程端口扫描
2019/08/31 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
python实现IOU计算案例
2020/04/12 Python
使用python-cv2实现视频的分解与合成的示例代码
2020/10/26 Python
css图标制作教程制作云图标
2014/01/19 HTML / CSS
CSS3 画基本图形,圆形、椭圆形、三角形等
2016/09/20 HTML / CSS
HTML5 直播疯狂点赞动画实现代码 附源码
2020/04/14 HTML / CSS
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
国际花店:Pickup Flowers
2020/04/10 全球购物
不忘国耻振兴中华演讲稿
2014/05/14 职场文书
珍惜资源保护环境的建议书
2014/05/14 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
简历自我评价模板
2015/03/11 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
导游词之广西漓江
2019/11/02 职场文书
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技