深入理解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文本操作类
Nov 25 PHP
如何写php程序?
Dec 08 PHP
PHP定时执行计划任务的多种方法小结
Dec 19 PHP
PHP JS Ip地址及域名格式检测代码
Sep 27 PHP
PHP大批量插入数据库的3种方法和速度对比
Jul 08 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
Mar 15 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
Mar 18 PHP
Yii2数据库操作常用方法小结
May 04 PHP
PHP设计模式之装饰器模式定义与用法简单示例
Aug 13 PHP
PHP PDOStatement::bindParam讲解
Jan 30 PHP
laravel http 自定义公共验证和响应的方法
Sep 29 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
Jan 26 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学习之PHP表达式
2006/10/09 PHP
wordpress之wp-settings.php
2007/08/17 PHP
php5数字型字符串加解密代码
2008/04/24 PHP
php中的动态调用实例分析
2015/01/07 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
[JS源码]超长文章自动分页(客户端版)
2007/01/09 Javascript
javascript中常用编程知识
2013/04/08 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
jQuery获取元素父节点的方法
2016/06/21 Javascript
nodejs 终端打印进度条实例代码
2017/04/22 NodeJs
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
浅析从vue源码看观察者模式
2018/01/29 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
javascript触发模拟鼠标点击事件
2019/06/26 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
python环境路径配置以及命令行运行脚本
2019/04/02 Python
Python3如何判断三角形的类型
2020/04/12 Python
Python celery原理及运行流程解析
2020/06/13 Python
Python OpenCV读取中文路径图像的方法
2020/07/02 Python
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
课程改革实施方案
2014/03/16 职场文书
《分一分》教学反思
2014/04/13 职场文书
图书室标语
2014/06/21 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
小学教师先进事迹材料
2014/12/15 职场文书
学雷锋感言
2015/08/03 职场文书
python实现图片批量压缩
2021/04/24 Python
redis cluster支持pipeline的实现思路
2021/06/23 Redis
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers
mysql5.5中文乱码问题解决的有用方法
2022/05/30 MySQL