概述:
三者均可以输出信息,但是各有自己的特点:
类型 | 输出变量个数 | 输出变量类型 | 返回值 | 速度 | |
echo | 语言结构 | 一个或多个 | 简单类型变量,如int、string | 无 | 最快 |
语言结构 | 一个 | 简单类型变量,如int、string | int | 快 | |
print_r | 函数 | 一个 | 复杂类型,如数组、对象 | bool | 慢 |
echo不是一个函数,而是一个php语句,它可以使用逗号间隔输出多个变量,并且没有返回值,速度也是最快的。
<?php
echo "xyw_", "Eliot", " Blog"; //输出xyw_Eliot Blog
echo ("xyw_", "Eliot", " Blog"); //编译错误,有括号不能传递多个参数
$name = "xyw_Eliot";
echo "$name is a blog!" ; //输出xyw_Eliot is a blog!
echo '$name is a blog!'; //输出$name is a blog!
//双引号会对内部的变量进行解析,输出变量的内容;单引号不会对变量解析,而是原样输出
?>
print和echo的用法基本相同,但是print只能输出一个变量,并且有返回值,如果输出成功,返回1.
<?php
print "xyw_Eliot is a blog!\n"; //输出xyw_Eliot is a blog!
//print "xyw_Eliot ", "is a blog!"; //编译错误,print不能传递多个参数
$return = print "xyw_Eliot is a blog!\n"; //打印成功,返回1
echo $return; //输出1
?>
print_r是一个函数,打印 关于变量的易于理解的信息。如果参数是 string、integer 或 float,将打印变量值本身。如果参数是 array,将会按照一定格式显示键和元素。object 与数组类似。
print_r有两个参数,第一个是变量,第二个可设为true,如果设为true,则会返回要打印的变量,否则返回布尔值TRUE。
<?php $arr = array("1"=>"xyw", "2"=>"Eliot", "3"=>"blog"); print_r($arr); //输出数组 $return =print_r($arr); //返回值为1 echo $return; //输出1 $return =print_r($arr, true); //返回数组 echo $return; //输出数组 ?>输出:
Array
(
[1] => xyw
[2] => Eliot
[3] => blog
)
本文为Eliot原创,转载请注明出处:http://blog.csdn.net/xyw_blog/article/details/13743341