深入理解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 获取完整url地址
Dec 20 PHP
用PHP读取和编写XML DOM的实现代码
Feb 03 PHP
PHP中去除换行解决办法小结(PHP_EOL)
Nov 27 PHP
基于simple_html_dom的使用小结
Jul 01 PHP
PHP上传文件时文件过大$_FILES为空的解决方法
Nov 26 PHP
php目录操作实例代码
Feb 21 PHP
php 邮件发送问题解决
Mar 22 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
PHP获取用户客户端真实IP的解决方案
Oct 10 PHP
laravel5.5添加echarts实现画图功能的方法
Oct 09 PHP
PHP Swoole异步MySQL客户端实现方法示例
Oct 24 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 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中使用XML
2006/10/09 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
2014/04/10 PHP
Zend Framework页面缓存实例
2014/06/25 PHP
php解析json数据实例
2014/08/19 PHP
php计算title标题相似比的方法
2015/07/29 PHP
Yii2.0 Basic代码中路由链接被转义的处理方法
2016/09/21 PHP
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
Vue 进阶教程之v-model详解
2017/05/06 Javascript
Vue 过滤器filters及基本用法
2017/12/26 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
解决Vue的项目使用Element ui 走马灯无法实现的问题
2020/08/03 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
[14:57]DOTA2 HEROS教学视频教你分分钟做大人-幽鬼
2014/06/13 DOTA
Python实现基于HTTP文件传输实例
2014/11/08 Python
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
python中__slots__用法实例
2015/06/04 Python
python 寻找优化使成本函数最小的最优解的方法
2017/12/28 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
python实现根据文件关键字进行切分为多个文件的示例
2018/12/10 Python
Python判断变量名是否合法的方法示例
2019/01/28 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
Django文件上传与下载(FileFlid)
2019/10/06 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
优秀英语专业毕业生求职信
2013/11/23 职场文书
委托书模板
2014/04/04 职场文书
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
工作说明书范文
2014/05/07 职场文书
企业环保标语
2014/06/10 职场文书
大一新生军训新闻稿
2015/07/17 职场文书
美容院员工规章制度
2015/08/05 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS
如何Tomcat中使用ipv6地址
2022/05/06 Servers