深入理解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 相关文章推荐
关于文本留言本的分页代码
Oct 09 PHP
PHP实现无限极分类图文教程
Nov 25 PHP
8个PHP程序员常用的功能汇总
Dec 18 PHP
php通过array_merge()函数合并关联和非关联数组的方法
Mar 18 PHP
php抓取网站图片并保存的实现方法
Oct 29 PHP
Symfony2安装的方法(2种方法)
Feb 04 PHP
CodeIgniter生成静态页的方法
May 17 PHP
php字符串的替换,分割和连接方法
May 23 PHP
PHP微信开发之模板消息回复
Jun 24 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
Sep 22 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
Yii框架自定义数据库操作组件示例
Nov 11 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变量引用的面试题
2010/08/08 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
div层的移动及性能优化
2010/11/16 Javascript
Three.js源码阅读笔记(光照部分)
2012/12/27 Javascript
文档对象模型DOM通俗讲解
2013/11/01 Javascript
自定义的一个简单时尚js下拉选择框
2013/11/20 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
JS设置下拉列表框当前所选值的方法
2015/12/22 Javascript
Javascript 字符串模板的简单实现
2016/02/13 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
JavaScript callback回调函数用法实例分析
2018/05/08 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
python画折线图的程序
2018/07/26 Python
在python里面运用多继承方法详解
2019/07/01 Python
python内存动态分配过程详解
2019/07/15 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
安装完Python包然后找不到模块的解决步骤
2020/02/13 Python
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
美国隐形眼镜网上商店:Lens.com
2019/09/03 全球购物
个人对照检查材料思想汇报(四风问题)
2014/09/25 职场文书
机关作风建设工作总结
2014/10/23 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript
Python selenium的这三种等待方式一定要会!
2021/06/10 Python
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL