深入理解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中路径问题的解决方案
Oct 09 PHP
php GeoIP的使用教程
Mar 09 PHP
组合算法的PHP解答方法
Feb 04 PHP
PHP应用JSON技巧讲解
Feb 03 PHP
个人写的PHP验证码生成类分享
Aug 21 PHP
php使用wordwrap格式化文本段落的方法
Mar 17 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
Sep 11 PHP
php使用glob函数遍历文件和目录详解
Sep 23 PHP
php的4种常用运行方式详解
Dec 22 PHP
Thinkphp5+uploadify实现的文件上传功能示例
May 26 PHP
基于laravel belongsTo使用详解
Oct 18 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
Banner程序
2006/10/09 PHP
非常好用的两个PHP函数 serialize()和unserialize()
2012/02/04 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
你可能不再需要JQUERY
2021/03/09 Javascript
限制复选框的最大可选数
2006/07/01 Javascript
top.location.href 没有权限 解决方法
2008/08/05 Javascript
jQuery下通过replace字符串替换实现大小图片切换
2012/05/22 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
javascript中拼接HTML字符串的最快、最好的方法
2014/06/07 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
基于Vue过渡状态实例讲解
2017/09/14 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
小程序实现录音功能
2020/09/22 Javascript
python爬虫教程之爬取百度贴吧并下载的示例
2014/03/07 Python
使用C语言扩展Python程序的简单入门指引
2015/04/14 Python
详尽讲述用Python的Django框架测试驱动开发的教程
2015/04/22 Python
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
Python利用heapq实现一个优先级队列的方法
2019/02/03 Python
python数据预处理之数据标准化的几种处理方式
2019/07/17 Python
使用 pytorch 创建神经网络拟合sin函数的实现
2020/02/24 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
天网面试题
2013/04/07 面试题
留学推荐信怎么写
2014/01/25 职场文书
大二学生职业生涯规划书
2014/02/05 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
毕业生自荐信格式
2014/03/07 职场文书
单位委托书怎么写
2014/09/21 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
Django使用redis配置缓存的方法
2021/06/01 Redis
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android