下面是详细的“深入理解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() 输出格式化的字符串 - Python技术站