(1)echo 是PHP语句,没有返回值,用于输出一个或多个字符串
(2)print() 是函数,可以有返回值,只能打印出简单类型变量的值,例如int、string
(3)print_r() 是函数,可以有返回值,可以打印复杂类型变量的值,例如数组、对象
print_r详解:
bool print_r ( mixed expression [, bool return] )
参数 return 是在 PHP 4.3.0 的时候加上的
如果想捕捉 print_r() 的输出,可使用 return 参数。若此参数设为 TRUE,print_r() 将不打印结果(此为默认动作),而是返回其输出。
eg.
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));
print_r ($a);
?>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));
$results = print_r ($a, true);//$results 包含了 print_r 的输出结果
print_r ($results);
?>
以上两种方法的结果都是:
Array
(
[a] => apple
[b] => banana
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)