Code前端首页关于Code前端联系我们

使用 php sprintf 格式化字符串

terry 2年前 (2023-09-29) 阅读数 63 #PHP
文章标签 PHP

1。 sprintf简介

在PHP中,有时我们需要将一些数据类型格式化为字符串并返回。这是 sprintf() 可用的时候。 sprintf() 函数将格式化字符串写入变量而不是显示它们。

sprintf()函数的语法如下:

    string sprintf ( string $format [, mixed $args [, mixed $... ]] )

第一个$format参数是一个格式字符串,可以包含多个占位符(%),后面的$args用来替换这些占位符,得到最终的字符串。 sprintf() 会连续替换占位符,多余的参数将被忽略,缺少的参数将被替换为空字符串。

2。占位符

sprintf() 支持多个占位符,可以控制输出格式。以下是一些常用的占位符:

  • %s:字符串类型
  • %d:整数类型
  • %f:浮点类型
  • %c:字符类型
  • %x:十六进制整数类型
  • %%:百分号

以下代码展示了如何使用此占位符:

    $str = 'Hello';
    $int = 123;
    $float = 3.1415926;
    $char = 'A';
    $hex = 255;
    printf("%s, world!
", $str); // Hello, world! printf("%d bottles of beer
", $int); // 123 bottles of beer printf("%.2f
", $float); // 3.14 printf("%c
", $char); // A printf("%x
", $hex); // ff printf("%%
"); // %

3。输出格式

sprintf()还支持一些输出格式的占位符,例如:%02d表示输出为整数时,如果小于两位数,则在前面补0。以下是一些常用的格式输出占位符:

  • %d:整数类型
  • %x:十六进制整数类型
  • %b:二进制整数类型
  • %o:八进制整数类型
  • %s:字符串类型
  • %c:字符类型
  • %f:浮点类型
  • %e:用科学记数法表示的浮点数
  • %g:根据
  • 的值使用%f或%e

以下代码展示了如何使用此格式输出占位符:

    $int = 10;
    $hex = 16;
    $bin = 0b1010;
    $oct = 012;
    printf("%02d
", $int); // 10 printf("%02d
", $hex); // 16 printf("%02d
", $bin); // 10 printf("%02d
", $oct); // 12 printf("%03d
", $int); // 010 printf("%03d
", $hex); // 016 printf("%03d
", $bin); // 010 printf("%03d
", $oct); // 012 printf("%5s
", 'hello'); // hello printf("%5s
", 'world'); // world printf("%'#5s
", 'hello');// ###hello printf("%f
", 1.2345678);// 1.234568 printf("%.2f
", 1.2345678); // 1.23

4。示例

以下是一个完整的示例,展示了如何组合多个占位符以及如何格式化表输出的输出占位符:

    $table = array(
        array('Name', 'Age', 'Gender'),
        array('Tom', 18, 'Male'),
        array('Jerry', 19, 'Female'),
        array('Mike', 20, 'Male'),
    );
    foreach ($table as $row) {
        printf("|%10s|%10s|%10s|\n", $row[0], $row[1], $row[2]);
    }

该代码的输出如下:

    |      Name|       Age|    Gender|
    |       Tom|        18|      Male|
    |     Jerry|        19|    Female|
    |      Mike|        20|      Male|

5。总结

sprintf()是一个非常有用的函数,可以帮助我们将不同的数据格式转换为字符串。在实际开发中,我们经常需要将数据格式化成表、日志等,而sprintf()为我们提供了一种简单高效的方法来解决这个问题。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门