echo():输出一个或多个字符串,它并不是一个函数,使用时不是必须要加括号,直接用echo就可以。echo 是一个语言结构,有无括号均可使用:echo 或 echo()。echo()函数比print()速度稍快一点,因为它不返回任何值。
直接输出字符或字符串例如:
<?php
echo "abc”; //输出abc
echo 'abc’; //同样输出abc
?>
如果只是输出字符串的话,使用单引号或双引号效果是一样的,就像上面一样。
例如1:(把字符串变量$str的值写入输出)
<?php
$str="hello world!";
echo $str;
?>
//运行结果:hello world!
如果希望向echo()传递一个以上的参数,使用括号将会生成解析错误(所以还是不带括号吧)。echo输出多个字符串时,用逗号隔开。
例如2:(echo输出多个字符串)
echo 'a','b','c';
print()函数:输出一个或多个字符串。同echo一样,它也不是一个函数。print 也是语言结构,有无括号均可使用:print 或 print()。只能打印出简单类型变量的值,如:int、string。
print和echo的区别:
1.echo没有返回值,而print有返回值,在PHP 4.0以上版本始终返回 1,所以速度比echo稍慢。
2.echo 可以输出多个变量值,而print只有一个变量,做为一个字符串输出。
例如3:(把字符串变量$str的值写入输出)
<?php
$str="hello world!";
print $str;
?>
print_r()函数:把字符串和数字打印出来,而利用print_r()打印出整个数组,则按照一定格式显示内容及结构,键和元素以括起来的键和值列表形式显示,并以Array开头。实际它不仅仅用于打印,而是用于打印关于变量的易于理解的信息。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。
例如4:(打印数组$salary)
<?php
$salary=array(1888,2100,2400);
print_r($salary);
?>
//运行结果:Array ( [0] => 1888 [1] => 2100 [2] => 2400 )
var_dump()函数:判断一个变量的类型与长度,并输出变量的数值,如果变量有值,输出的是变量的值,并返回数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型和值。数组将递归展开值,通过缩进显示其结构。
var_dump和print_r的区别:
1.var_dump返回表达式的类型与值而print_r仅返回结果
2.相比调试代码使用var_dump更便于阅读。
例如5:
<?php
$name=array(‘Kevin’,’Glan’,’Maggie');
var_dump($name);
?>
//运行结果:
array (size=3)
0 => string 'Kevin' (length=5)
1 => string 'Glan' (length=4)
2 => string 'Maggie' (length=6)