前言
上一篇文章我们介绍到PHP的字符串有很多相关的处理函数,今天就先来详细介绍PHP字符串相关的输出函数以及格式化输出函数。在web的开发中,网页上大部分内容显示的都是文字或者图片,且文字居多。所以在实际开发中,对字符的处理和展示是最多。如果按用户的需求通过PHP动态输出这些文字,就需要将网页上的文字定义为字符串,然后再通过PHP的一些字符串输出函数将其输出。比如我们最常用于打印字符串的echo()和print(),在没有使用测试工具的情况下,我们在编写代码的时候,会常用echo()或者print()输出结果来调试程序。我们常用的输出函数大致有echo(),print(),die(),printf(),sprintf()。接下来我们就逐一详细介绍这些函数。
常用的echo()函数
echo()函数用于输出一个或多个字符串,是在PHP中使用最多最频繁的一个函数,因为使用它的效率要比其他字符串输出函数的效率高.echo()实际上并不是一个函数,而是PHP的一个语言结构,所以无须对其使用括号。也就是说无须使用函数调用的方式去调用它,而且,如果希望向echo()传递一个或者多个参数,那么使用括号会发生解析错误.此函数的语法格式如下:
void echo(string arg1 [, string ...]) //使用时可省略括号
该函数的参数可以是一个或多个要输出字符串,如果用户想要传递一个以上的参数到此函数,不能使用括号将参数括起来,如以下示例:
<?php
$str = "hello";
$str2 = "world";
echo $str;
echo "<br>";
echo $str . "<br>world<br>";
echo "hello
world
<br>";//将文本转换成多行输出,代码可读性更高
echo $str,$str2;
上篇文章中,我们也使用到PHP中的字符串的链接符".",其实除了"."之外,还可以使用逗号","来作为字符串的连接符
执行结果如下:
print()函数
该函数的功能和echo()函数一样,他有返回值,若成功则返回-1,失败则返回0.比如:传输中途客户的浏览器突然挂了,则会造成输出失败的情况.该函数的执行效率没有echo()函数高.使用示例如下:
<?php
$str = "hello";
$str2 = "world";
echo $str;
print($str2);
执行结果:
die()函数和exit()函数
die()函数是exit()函数的别名.这一点我们在在之前的文章中也有所提及.如果参数是一个字符串,则该函数会在退出前输出字符串,如果参数是一个整数,这个值会被用作退出的状态.退出状态的值在0-254之间,退出状态255由PHP保留,不会被使用,状态0用于成功地终止程序.下面我们看看例子:
<?php
$str = "hello";
fopen($str, "r") or die("终止信息是:".$str); //如果打开文件失败则输出一条提示信息并退出程序
执行结果:
格式化输出:printf()函数
printf()函数用于输出格式化的字符串,和C语言中的同名函数用法一样,而且作用都是格式化输出字符串。第一个参数为必选参数,是规定的字符串以及如何格式化其中的变量。还可以有多个可选参数,是规定插入到第一个参数的格式化字符串中对应%符号处的参数,其实第一个%在这里就相当于一个占位符或者说是定位的替换字符。使用语法如下:
printf(format, arg1, arg2,...,argn) //输出格式的字符串
第一个参数中使用的转换格式是以百分号(%)开始到转换字符结束,能够转换的格式如下:
%%:返回百分比符号。
%b: b在这里是binary,代表二进制数。
%c: 依照ASCII值的字符。
%d: 带符号的十进制数。
%e: 科学计数法,如:1.5e+3。
%u: 无符号十进制数。
%f: 浮点数(float)(local settings aware)。
%F: 浮点数(not local settings aware)。
%o: 八进制数。
%s: 字符串。
%x: 十六进制数(小写字母)。
%X: 十六进制数(大写字母)。
arg1,arg2...arg1等参数将插入到字符串中的百分号(%)符合处.该函数是逐步执行的.在第一个%符号中,插入arg1,在第二个%符号出,插入arg2;以此类推。如果%符号多比arg参数还多,则必须使用占位符。占位符被插入%符号之后,由数字和“\$”组成。
<?php
$str = "张三";
$digital = 12345;
printf("你好! %s ,你上月薪资为:%u元<br>", $str, $digital);//将字符串$str在第一个参数中的%号处输出,按%s输出,整型数据按%u输出,一一对应
printf("你好! %s ,你上月薪资为:%0.2f元<br>", $str, $digital);//将整型按照浮点数输出,并保留小数点后2位
//使用占位符
$format = "你好,%2\$s,你上月工资为: %1\$d元.<br>
你好,%2\$s,你本月工资一样为: %1\$d元.<br>";
printf($format, $digital, $str);
执行结果如下:
sprintf()函数
sprintf()函数的用法和printf()函数的用法类似,但sprintf()并不是输出字符串,而是把格式化的字符串以返回值的形式写入到一个变量中。这样就可以在需要的时候使用格式化后字符串。直接看实际更容易理解:
<?php
$digital = 12345;
$str = sprintf("%0.2f",$digital);//将整型保留小数点后2位并赋值给变量$str
echo $str;//在有效的作用范围内,都可使用格式化后的数据$str
执行结果如下:
标签:输出,函数,web,echo,参数,字符串,PHP From: https://blog.51cto.com/micai01/6535964