Home  >  Article  >  Backend Development  >  php中echo、print、print_r差异

php中echo、print、print_r差异

WBOY
WBOYOriginal
2016-06-13 12:34:28858browse

php中echo、print、print_r区别

概述:

三者均可以输出信息,但是各有自己的特点:

  类型 输出变量个数 输出变量类型 返回值 速度
echo 语言结构 一个或多个 简单类型变量,如int、string 最快
print 语言结构 一个 简单类型变量,如int、string int
print_r 函数 一个 复杂类型,如数组、对象 bool

echo不是一个函数,而是一个php语句,它可以使用逗号间隔输出多个变量,并且没有返回值,速度也是最快的。

<?php <span style="white-space:pre">	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 <span style="white-space:pre">	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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn