深入理解php printf() 输出格式化的字符串

下面是详细的“深入理解php printf() 输出格式化的字符串”的攻略。

下面是详细的“深入理解php printf() 输出格式化的字符串”的攻略。

简介

printf() 是一种 PHP 输出函数,用于将字符串格式化为指定的格式。可以将变量、数字、字符串等使用一些特殊的字符(称为转换说明符)格式化为不同的类型。

基本使用

基本格式为:

printf(format,arg1,arg2,arg3,...);

其中,format 是字符串格式,其必需内容是普通文字以及特殊的 “占位符”(也称转换说明符),如 %d 、 %f 、 %s 等等。占位符的数量必须与 arg1,arg2,arg3,... 的数量相对应,并且是感知大小写的。

常见的占位符有:

占位符 说明
%d 输出整数
%f 输出浮点数
%s 输出字符串
%x 输出十六进制数
%c 输出字符
%b 输出二进制数
%e 输出指数形式的科学计数法。例如:6.864800e+04
%u 输出无符号整数
%o 输出八进制数
%g %e 和 %f 的简写
%G %E 和 %f 的简写
%% 输出百分号
%* 宽度传递值会被插入到相应的位置中,用于指定字段的宽度
%*.f 精度传递值插入到 * 处,用于指定小数部分的宽度
%*.*f 第一个 * 形参传递域宽度,第二个 * 形参传递浮点型数字指定的精度

如果要取消占位符的自动转换,可以在占位符前面添加一个用于指定转换类型的 n,例如 %nd,其中 n 为转化基数,可以是 8、10 或 16 等,比如 %o 代表八进制转换, %d 代表十进制转换, %x 代表十六进制转换。

示例一

下面是一个使用 printf() 函数将字符串格式化输出的例子:

$name = "John";
$age = 30;
$score = 82.5678;
printf("My name is %s, I am %d years old, and my score is %.2f.", $name, $age, $score);

输出结果为:

My name is John, I am 30 years old, and my score is 82.57.

在这个例子中,我们使用 %s 插入了名字变量、使用 %d 插入了年龄变量、使用 %.2f 插入了成绩变量,并将成绩保留了两位小数。

示例二

下面是另一个实例,演示如何使用宽度和精度插入符号:

$name = "John Doe";
$age = 25;
$balance = 1228.4;
printf("My name is %15s, I am %d years old, and my balance is $%.2f.", $name, $age, $balance);

输出结果为:

My name is     John Doe, I am 25 years old, and my balance is $1228.40.

在这个例子中,我们使用了 %15s 插入了名字变量,它表示名字的长度是 15,不足 15 的部分以空格填充。同样,我们在金额插入的字段中使用了 $%.2f,它会将变量格式化为带 $ 货币符号和两位小数的合适格式。

本文标题为:深入理解php printf() 输出格式化的字符串

基础教程推荐