应几位初学者的要求,今天我们简单说一下几种输出方式的区别以及应用场景
PHP使用 echo,print,print_r(),printf(),vardump(),die来对内容输出,但是各个方式或多或少有些区别
一 echo
echo是一个语言结构,可以带括号或不带括号使用: echo或echo(),都可以用来输出,它是最常用的输出语句,它只能输出单一的数据不能打印出数据的类型,也不能输出符合数据类型的数据,如数组就不可以,当你用echo去输出数组等符合数据类型时会直接报错。
注意:一般情况下echo和echo()使用是一样的,当多个参数同时传递给echo语句时就不可以使用括了,否则会直接报错。echo语句没有返回值因此不可以在表达式中使用echo来作为条件判断
<?
二 print
print语句也可以实现输出,print和print()没有区别,同样只能输出单一数据不能打印数据类型结构,也不能输出符合数据类型的数据,如:数组。print不可以接收多个参数
print输出有返回值当输出成功会返回true,失败就会返回false,因此它可以在表达式中使用
<?
三 print_r()
print_r()函数既能输出字符串等单一数据又能输出数组等多种数据 但是不能输出数据类型。print_r()只能接收一个参数输出,当传入多个参数时不会输出任何信息但是不会生成错误
print_r()输出同样有返回值当输出成功会返回true,失败就会返回false,因此它也可以在表达式中使用
<?
四 printf()
printf()函数也可以对内容进行输出,同样只能输出单一数据不能打印数据类型结构,也不能输出复合数据类型的数据,printf()函数最主要的功能就是可以对数据格式化的形式输出
printf()函数返回的是输出内容的长度
- %% - 返回一个百分号 %
- %b - 二进制数
- %c - ASCII 值对应的字符
- %d - 包含正负号的十进制数(负数、0、正数)
- %e - 使用小写的科学计数法(例如 1.2e+2)
- %E - 使用大写的科学计数法(例如 1.2E+2)
- %u - 不包含正负号的十进制数(大于等于 0)
- %f - 浮点数(本地设置)
- %F - 浮点数(非本地设置)
- %g - 较短的 %e 和 %f
- %G - 较短的 %E 和 %f
- %o - 八进制数
- %s - 字符串
- %x - 十六进制数(小写字母)
- %X - 十六进制数(大写字母)
附加的格式值。必需放置在 % 和字母之间(例如 %.2f):
- + (在数字前面加上 + 或 - 来定义数字的正负性。默认地,只有负数做标记,正数不做标记)
- ' (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。)
- - (左调整变量值)
- [0-9] (规定变量值的最小宽度)
- .[0-9] (规定小数位数或最大字符串长度)
注释:如果使用多个上述的格式值,它们必须按照上面的顺序进行使用,不能打乱。
<?
五 var_dump()
var_dump()函数用于输出变量,既能输出字符串等单一的数据类型同时也能输出复合的数据类型而且还能打印出数据类型结构
var_dump()函数在输出时没有返回值,因此不能在表达式里面使用
<?
六 die
die语句也可以输出内容,不过die在输出内容后就会终止程序的运行。同样只能输出单一数据不能打印数据类型结构,也不能输出复合数据类型的数据
由于die在输出内容后就终止了程序的运行因为也不会有返回值