欢迎访问宙启技术站
智能推送

PHP中的sprintf()函数如何格式化字符串?

发布时间:2023-06-05 10:39:20

sprintf()是一个常用的PHP字符串格式化函数,它可以将变量按照指定的格式转换为字符串。sprintf()函数的语法如下:

sprintf(format, arg1, arg2,…)

其中,format是格式化字符串,arg1、arg2等是要格式化的变量。下面是一些常见的格式化字符串:

1. %s:字符串类型

2. %d:十进制整数类型

3. %f:浮点数类型

4. %c:字符类型

5. %b:二进制类型

6. %o:八进制类型

7. %x:十六进制类型(小写字母)

8. %X:十六进制类型(大写字母)

9. %e:科学计数法表示的浮点数类型(小写字母)

10. %E:科学计数法表示的浮点数类型(大写字母)

11. %u:无符号十进制整数类型

例如,下面的代码将变量$x格式化成一个十进制整数字符串:

$x = 123;

$str = sprintf("%d",$x);

echo $str;    // 输出:123

下面是sprintf()函数格式化字符串的一些示例:

1. 字符串类型

$first_name = "John";

$last_name = "Doe";

$str = sprintf("My name is %s %s",$first_name,$last_name);

echo $str;    // 输出:My name is John Doe

2. 十进制整数类型

$num = 123;

$str = sprintf("The number is %d",$num);

echo $str;    // 输出:The number is 123

3. 浮点数类型

$pi = 3.14159265359;

$str = sprintf("The value of pi is %f",$pi);

echo $str;    // 输出:The value of pi is 3.141593

4. 二进制类型

$num = 15;

$str = sprintf("The number %d in binary is %b",$num,$num);

echo $str;    // 输出:The number 15 in binary is 1111

5. 八进制类型

$num = 15;

$str = sprintf("The number %d in octal is %o",$num,$num);

echo $str;    // 输出:The number 15 in octal is 17

6. 十六进制类型

$num = 15;

$str = sprintf("The number %d in hexadecimal is %x",$num,$num);

echo $str;    // 输出:The number 15 in hexadecimal is f

7. 科学计数法表示的浮点数类型

$num = 12345.6789;

$str = sprintf("The number is %e",$num);

echo $str;    // 输出:The number is 1.234568e+04

8. 无符号十进制整数类型

$num = -123;

$str = sprintf("The absolute value of %d is %u", $num, abs($num));

echo $str;    // 输出:The absolute value of -123 is 4294967173

sprintf()函数还支持一些转换修饰符,如下:

1. 数字:指定输出的宽度,如"%4d"表示输出的整数占4个位置,不足的位置用空格补齐

2. 负号:表示输出左对齐

3. 正号:表示输出加上正号

4. 空格:表示输出空格,位于正数负号之后

5. 零:表示用0填充不足的位数

例如,下面的代码将123格式化为一个右对齐的整数,不足5个位数用0填充:

$num = 123;

$str = sprintf("%05d",$num);

echo $str;    // 输出:00123

更多关于sprintf()函数的用法,请参考PHP手册。