PHP Sprint()函数

226 阅读4分钟

PHP的sprint()函数的工作原理与printf()函数类似。两个函数都产生格式化的输出,但这两个函数的一个区别是,sprinf()函数的输出被存储到一个变量中,而printf()函数的输出则在浏览器中显示。本教程将介绍sprint()函数的工作原理和用途。

语法。

sprintf(stringformat,mixed...format,mixed...values):string

这个函数的第一个参数包含将被应用于输出的格式字符串。第二个参数包含将被应用于格式化的值。该函数在成功时返回格式化的字符串作为输出,但对于PHP版本8,在失败时不返回false。

指定器

该函数的格式化字符串中使用了许多类型的指定器。下面提到的是最常用的指定器的列表。

指定符目的
c它用于打印ASCII码的字符。
d用于打印整数。
f用于打印浮点数字。
s它用于打印字符串值。
e它用于打印指数格式的数字。
b它用于打印二进制数字。
o用于打印八进制数字。
u用于打印无符号十进制数字。
x它用于打印十六进制数字。
X它用于打印使用大写字母的十六进制数字。

前提条件

本教程中的例子所使用的脚本是基于PHP8版本编写的。在执行本脚本的例子之前,请做以下工作。

  1. 安装 apache2 和 PHP 8。
  2. 为/var/www/html文件夹下的所有文件和文件夹设置执行权限,所有的PHP文件将存放在该文件夹下。

Sprint()函数的不同用途

在本教程的这一部分中,将通过不同的例子来说明Sprint()函数在PHP中的用途。

例1:在格式字符串中使用不同类型的指定器

用下面的脚本创建一个PHP文件,以了解使用**sprint()函数格式化数据的四种不同类型的指定器的使用。在脚本中,四种类型的数据已被分配到四个变量中。接下来,使用sprint()**函数打印这些变量的值。

" 。[sprintf](http://www.php.net/sprintf)("%d",$integer)."
"; //打印小数值 echo"小数值是".[sprintf](http://www.php.net/sprintf)("%0.2f",$float)."
"; //打印字符串值 echo"字符串值是".[sprintf](http://www.php.net/sprintf)("%s",$string)."
"; //打印ASCII码的字符 echo"ASCII码的字符$ascii是".[sprintf](http://www.php.net/sprintf)("%c",$ascii).""; ? **输出。** 执行上述脚本后会出现以下输出。这里,文件名是**sprintf1.php**,存放在**/var/www/html/code**文件夹中。 [http://localhost/code/sprintf1.php](http://localhost/code/sprintf1.php) ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e260186d7dd44dcaac399bc4ded86fab~tplv-k3u1fbpfcp-zoom-1.image) 例2:科学符号的使用 ---------- 用下面的脚本创建一个PHP文件,以了解通过使用**sprint()**函数生成科学符号的格式化输出的方法。在这个例子中,一个大的数字被分配给一个变量,将以指数格式打印出来。

输出。

执行上述脚本后会出现以下输出。这里,文件名是sprintf2.php,存放在**/var/www/html/code**文件夹内。

http://localhost/code/sprintf2.php

例3:以不同方式使用字符串指定器

用下面的脚本创建一个PHP文件,了解不同的字符串指定符在使用**sprint()**函数生成不同类型的格式化输出时的用途。在这个例子中,一个字符串值已经被分配给一个变量。第一个sprintf()函数将打印主字符串。在第二个sprintf()函数中,空格用于左边的填充,没有

标签。

在带有

标签的第三个sprinf()函数中,空格用于左边的填充。在带有
标签的第四个springf()函数中,空格用于右边的填充。在第五个springf()函数中,零被用于左边的padding。在第六个sprinf()函数中,'#'字符被用于左边的填充。

"; //打印右对齐的文本值,用空格填充 echo [sprintf](http://www.php.net/sprintf)("%25s",$text)."
"; //用空格填充打印带有
标签的右对齐的文本值  
  
echo "". [sprintf](http://www.php.net/sprintf)("%25s",$text)."

"; //用
标签打印左对齐的文本值,用空格填充另一个文本  
  
echo "". [sprintf](http://www.php.net/sprintf)("%-25s",$text)."dummy text

"; //通过右对齐和零填充来打印文本值 echo [sprintf](http://www.php.net/sprintf)("%025s",$text)."
"; //用'#'填充物向右调整打印文本值 echo [sprintf](http://www.php.net/sprintf)("%'#30s",$text)."
"; ? **输出。** 执行上述脚本后会出现以下输出。这里,文件名是**sprintf3.php**,存放在**/var/www/html/code**文件夹中。根据输出结果,在没有**
**标签的情况下,空格填充不起作用。

[http://localhost/code/sprintf3.php](http://localhost/code/sprintf3.php)

![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b65d9144d77f4348823dc0e0cd50ddfa~tplv-k3u1fbpfcp-zoom-1.image)

例4:使用位置指定符
----------

用下面的脚本创建一个PHP文件,以了解使用**sprint()**函数来指定位置的方法。这里,有两个变量被初始化为两个值。1$和2$被用作**sprintf()**函数中的位置指定符。

这个%2$s的价格是%1$d美元。

', $price, $product); ?>

输出:

执行上述脚本后,将出现以下输出。这里,文件名是 sprintf4.php,存放在/var/www/html/code文件夹内。

<a href="http://localhost/code/sprintf4.php"\> http://localhost/code/sprintf4.php

<imgclass="wp-image-132476" src="linuxhint.com/wp-content/…" />

Example-5:使用零填充的数字格式

用以下脚本创建一个PHP[文件](http://www.php.net/file),以了解通过使用 sprint() 函数使用零填充的数字格式的方法。这里,一个三位数的整数已被分配到一个变量中。执行代码后,原始数字和带零填充的数字将被打印出来。 \[cc lang="php"width="100%"height="100%"escaped="true"theme="blackboard"nowrap="0"\]

//分配一个数字值

$num = 785;

//打印原始数字

echo "
原始数字值为<b>".sprintf("%d", $num)."<br/>";

//打印零填充的数字

echo "零填充的数字值是<b>".sprintf("%05d", $num)."<br/>";

?>

输出。

执行上述脚本后会出现以下输出。这里,文件名是sprintf5.php,存放在**/var/www/html/code**文件夹内。

http://localhost/code/sprintf5.php

结论

sprint()函数在PHP中主要用于将数据的格式化内容存储到一个变量中。本教程已经解释了该函数最常用的指定符的用途,以帮助PHP新用户正确认识该函数的使用。