深入理解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实现MySQL更新记录的代码
Jun 07 PHP
sqlyog 中文乱码问题的设置方法
Oct 19 PHP
php 过滤器实现代码
Aug 09 PHP
php 数组的指针操作实现代码
Feb 08 PHP
PHP学习之数组值的操作
Apr 17 PHP
PHP读取ACCESS数据到MYSQL的代码
May 11 PHP
使用php方法curl抓取AJAX异步内容思路分析及代码分享
Aug 25 PHP
PHP连接和操作MySQL数据库基础教程
Sep 29 PHP
PHP中的traits简单使用实例
May 13 PHP
CI框架入门之MVC简单示例
Nov 21 PHP
2017年最好用的9个php开发工具推荐(超好用)
Oct 23 PHP
PHP实现可精确验证身份证号码的工具类示例
May 31 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
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
php 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
php上传excel表格并获取数据
2017/04/27 PHP
javascript入门·对象属性方法大总结
2007/10/01 Javascript
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
JavaScript对象创建及继承原理实例解剖
2013/02/28 Javascript
js获取RadioButtonList的Value/Text及选中值等信息实现代码
2013/03/05 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
理解Javascript图片预加载
2016/02/23 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
Python记录详细调用堆栈日志的方法
2015/05/05 Python
使用Python的urllib2模块处理url和图片的技巧两则
2016/02/18 Python
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
Python3编程实现获取阿里云ECS实例及监控的方法
2017/08/18 Python
Python 关于反射和类的特殊成员方法
2017/09/14 Python
python 实现在txt指定行追加文本的方法
2018/04/29 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
让IE支持HTML5的方法
2012/12/11 HTML / CSS
Magee 1866官网:Donegal粗花呢外套和大衣专家
2019/11/01 全球购物
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
数组越界问题
2015/10/21 面试题
护理专业的自荐信
2013/10/22 职场文书
黄河象教学反思
2014/02/10 职场文书
书香校园建设方案
2014/05/02 职场文书
会计专业毕业生求职信
2014/07/04 职场文书
标准单位租车协议书
2014/09/23 职场文书
SQLServer之常用函数总结详解
2021/08/30 SQL Server