深入理解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调用Oracle存储过程
Oct 09 PHP
php初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
PHP 读取文件内容代码(txt,js等)
Dec 06 PHP
PHP删除数组中特定元素的两种方法
Jul 02 PHP
网站防止被刷票的一些思路与方法
Jan 08 PHP
php的GD库imagettftext函数解决中文乱码问题
Jan 24 PHP
php实现的简易扫雷游戏实例
Jul 09 PHP
PHP的全局错误处理详解
Apr 25 PHP
PHP 中使用ajax时一些常见错误总结整理
Feb 27 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 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缓存类代码(附详细说明)
2011/06/09 PHP
PHP生成plist数据的方法
2015/06/16 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
Zend Framework创建自己的动作助手详解
2016/03/05 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
php利用imagemagick实现复古老照片效果实例
2017/02/16 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
2018/06/04 PHP
php实现每日签到功能
2018/11/29 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
JQuery打造省市下拉框联动效果
2014/05/18 Javascript
js数组的操作指南
2014/12/28 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
分享一个插件实现水珠自动下落效果
2016/06/01 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
详解服务端预渲染之Nuxt(介绍篇)
2019/04/07 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
Python新手实现2048小游戏
2015/03/31 Python
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
基于Django统计博客文章阅读量
2019/10/29 Python
python 消除 futureWarning问题的解决
2019/12/25 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
html5页面结构_动力节点Java学院整理
2017/07/10 HTML / CSS
科沃斯机器人官网商城:Ecovacs
2016/08/29 全球购物
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
基层干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
新闻稿件写作技巧
2015/07/18 职场文书
实验室安全管理制度
2015/08/05 职场文书