深入理解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 相关文章推荐
PHP4实际应用经验篇(9)
Oct 09 PHP
PHP数据缓存技术
Feb 14 PHP
随时给自己贴的图片加文字的php水印
Mar 16 PHP
php array_merge下进行数组合并的代码
Jul 22 PHP
php后台程序与Javascript的两种交互方式
Oct 25 PHP
PHP学习笔记之二 php入门知识
Jan 12 PHP
php session安全问题分析
Jun 24 PHP
深入php define()函数以及defined()函数的用法详解
Jun 05 PHP
360通用php防护代码(使用操作详解)
Jun 18 PHP
php使用smtp发送支持附件的邮件示例
Apr 13 PHP
php通过获取头信息判断图片类型的方法
Jun 26 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
Jun 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获取一个字符串中间一部分字符的方法
2014/08/19 PHP
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
laravel入门知识点整理
2020/09/15 PHP
Javascript之文件操作
2007/03/07 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
2014/06/30 Javascript
js数组的操作指南
2014/12/28 Javascript
JS+CSS实现表格高亮的方法
2015/08/05 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
Javascript中的 “&amp;” 和 “|” 详解
2017/02/02 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
js编写简易的计算器
2020/07/29 Javascript
python根据文件大小打log日志
2014/10/09 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
Python守护线程用法实例
2017/06/23 Python
python绘制条形图方法代码详解
2017/12/19 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
python3中property使用方法详解
2019/04/23 Python
对python中不同模块(函数、类、变量)的调用详解
2019/07/16 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
Python模块的定义,模块的导入,__name__用法实例分析
2020/01/07 Python
Python日志处理模块logging用法解析
2020/05/19 Python
python中封包建立过程实例
2021/02/18 Python
应届生妇产科护士求职信
2013/10/27 职场文书
质检部职责
2013/12/28 职场文书
公司薪酬管理制度
2014/01/31 职场文书
学校教师读书活动总结
2014/07/08 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
授权委托书怎么写
2014/09/25 职场文书
行政助理岗位职责
2015/02/10 职场文书
《包身工》教学反思
2016/02/23 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
CDPR谈《巫师》新作用虚幻5原因 称不会为Epic独占
2022/04/06 其他游戏