首页 > 编程笔记 > PHP笔记

PHP字符串输出函数汇总

前面学习了使用单引号、双引号及定界符等声明字符串的方式,以及用不同方式声明的字符串之间的区别与应用。其实在 Web 应用中,网页上大部分显示的都是文字或图片,而文字居多。如果想要按用户的需求通过 PHP 动态地输出这些文字,就需要将网页上的文字定义为一个个字符串,然后通过 PHP 的字符串输出函数将其输出。

PHP 中提供了多种多样的字符串输出函数供我们使用,下面就来介绍一下,在 PHP 中常用的字符串输出函数如下表所示。

函数名 功能描述
echo() 输出字符串
print() 输出一个或多个字符串
die() 输出一条消息,并退出当前脚本
printf() 输出格式化字符串
sprintf() 把格式化的字符串写入一个变量中

1、echo()

echo() 用于输出一个或多个字符串,是在 PHP 中使用最多的函数之一,因为使用它的效率要比其他字符串输出函数高。

严格来讲 echo 实际上并不是一个函数(它是个语言结构),因此不一定必须使用小括号来指明参数,使用单引号、双引号也可以。需要注意的是,如果想向 echo 中传递多个参数的话,那么就不能使用小括号,否则会发生解析错误。

echo 的语法格式如下所示:

echo(string $arg1[, string $...])

其中,$arg1 为要输出的参数。

另外,echo 还有一个快捷用法,那就是可以在 PHP 开始标记前直接用一个等号(在 PHP 5.4.0 之前,必须在 php.ini 里面启用 short_open_tag 才有效)然后在后面填充要输出的变量,如下所示:

<?= $arg1 ?>

【示例】使用 echo 输出指定的字符串。
<?php
    $str = '新宝库';
    $url = 'https://www.xinbaoku.com/php/';
    echo $str;
    echo '<br>';
    echo($url);
    echo '<br>';
    echo $str.'----'.$url.'<br>';
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    欢迎访问 <?= $str ?> !
</body>
</html>
运行结果如下:

新宝库
https://www.xinbaoku.com/php/
新宝库----https://www.xinbaoku.com/php/
欢迎访问 新宝库 !

2、print()

print() 函数的功能和 echo() 一样,最主要的区别就是 echo 可以接受多个参数并且没有返回值,而 print() 只能接受一个参数并且有返回值,print() 函数的语法格式如下:

print(string $arg)

其中,$arg 为要输出的字符串。另外,print() 函数总是返回 1。

3、die()

die() 函数是 exit() 函数的别名,该函数可以输出一个消息并退出当前脚本,其语法格式如下:

die([string $status])
die(int $status)

其中,$status 为要输出的内容,如果 $status 是一个字符串,则该函数会在退出前输出它。如果 $status 是一个整数,这个值会被用做退出状态码,并且不对被打印输出。退出状态码的值在 0 至 254 之间。另外,退出状态码 255 由 PHP 保留,不能使用。状态码 0 用于成功地终止程序。

【示例】使用 die() 推出脚本并输出一条信息。
<?php
    $url = 'https://www.xinbaoku.com/php/';
    fopen($url, 'r') or die('链接打开失败!');
?>

4、printf()

函数 printf() 用于输出格式化后的字符串,和C语言中的同名函数用法一样。函数的语法格式如下:

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

其中,$format 为必选参数,用来设置字符串以及如何格式化其中的变量;剩余的若干个参数(例如 $args)为可选参数,用来设置插入到 $format 中对应“%”符号处的参数。

printf() 函数的第一个参数使用的转换格式是将字符串中不确定(动态)的部分使用占位符来替代,占位符是以百分比符号“%”到转换字符来表示的,如下表所示。

格式 功能描述
%% 返回百分比符号
%b 二进制数
%c ASCII 值对应的字符
%d 包含正负号的十进制数(负数、0、正数)
%e 使用小写的科学计数法(例如 1.5e+3)
%E  使用大写的科学计数法(例如 1.2E+2)
%u 无符号的十进制数
%f 浮点数(本地设置)
%F 浮点数(非本地设置)
%g  较短的 %e 和 %f
%G 较短的 %E 和 %f
%o 八进制数
%s 字符串
%x 十六进制数(小写字母)
%X 十六进制数(大写字母)

占位符的 % 于后面的字母之间也可以插入一些附加的内容(例如 %.2f):

注意:如果使用多个上述的格式值,它们必须按照上面的顺序进行使用,不能打乱。

【示例】使用 printf() 函数输出指定的字符串。
<?php
    $str = '新宝库';
    $url = 'https://www.xinbaoku.com/php/';
    $num = 789;
    printf('欢迎访问%s,网站链接为:%s<br>', $str, $url);
    printf('%0.3f<br>', $num);
?>
运行结果如下:

欢迎访问新宝库,网站链接为:https://www.xinbaoku.com/php/
789.000

5、sprintf()

sprintf() 函数的用法和 printf() 相似,但它并不输出字符串,而是把格式化后的字符串以返回值的形式返回,我们可以使用一个变量来接收 sprintf() 函数的返回值,这样就可以在需要时侯使用这个格式化后的字符串了。示例代码如下所示:
<?php
    $num = 3.1415926;
    $str = sprintf('%.2f', $num);
    echo $str;
?>
运行结果如下:

3.14

所有教程

优秀文章