微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php echo, print, print_r, sprintf, var_dump, var_expor的使用区别

echo— 输出一个或多个字符串

描述

echo ( string arg1 [,string ...] )
echo()实际上不是一个函数(它是一个语言结构),所以您不需要使用括号。echo()的(不同于其他一些语言构造)并不像一个功能,所以它不能总是在函数中使用。此外,如果你想传递多个参数的echo(),参数必须不被括在括号内。
echo()是命令,不能返回值。echo后面可以跟很多个参数,之间用分号隔开,如:
echo $myvar1;
echo 1,2,$myvar,”bold”;

print— 输出一个或多个字符串

描述

int print ( string arg )
print()是实际上没有一个真正的函数(它是一个语言结构),所以你并不需要使用它的参数列表的括号。
可以返回一个值,只能有一个参数

print_r
(PHP 4,PHP 5)
print_r – 打印关于变量的易于理解的信息。

描述

bool print_r ( mixed expression [,bool return] )
PHP 4.3.0 的时候加上
print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。
记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。

PHP
$a = array (‘a' => ‘apple',‘b' => ‘banana',‘c' => array (‘x','y','z'));
print_r ($a);
?>

上边的代码输出

Array
(
[a] => apple
[b] => banana
[c] => Array
(
[0] => x
[1] => y
[2] => z
)
)

如果想捕捉 print_r() 的输出,可使用 return 参数。若此参数设为 TRUE,print_r() 将不打印结果(此为认动作),而是返回其输出
例子 1. return 参数示例
PHP
$b = array (‘m' => ‘monkey',‘foo' => ‘bar',‘x' => array (‘x',‘y',‘z'));
$results = print_r ($b,true); //$results 包含了 print_r 的输出结果
?>

注:

如果想在 PHP 4.3.0 之前的版本中捕捉 print_r() 的输出,可使用输出控制函数

注:

PHP 4.0.4 之前的版本中,如果给出的 array 或 object 包含了直接或间接指向自身的引用,print_r() 将永远继续下去。print_r($GLOBALS) 就是一个例子,因为 $GLOBALS 自身即是全局变量,其包含了指向自身的引用。
var_dump
(PHP 3 >= 3.0.5,PHP 4,PHP 5)
var_dump — 打印变量的相关信息

描述

void var_dump ( mixed expression [,mixed expression [,...]] )
函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
提示: 为了防止程序直接将结果输出到浏览器,可以使用输出控制函数来捕获此函数输出,并把它们保存到一个例如 string 类型的变量中。

var_export
(PHP 4 >= 4.2.0,PHP 5)
var_export — 输出或返回一个变量的字符串表示

描述

mixed var_export ( mixed expression [,bool return] )
函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码
var_export必须返回合法的PHP代码, 也就是说,var_export返回的代码,可以直接当作PHP代码赋值个一个变量。 而这个变量就会取得和被var_export一样的类型的值
但是, 当变量类型为resource的时候, 是无法简单copy复制的,所以, 当var_export的变量是resource类型时, var_export会返回NULL
代码如下:
$res = fopen('status.html','r');
var_dump($res); //resource(2) of type (stream)
var_export($res); //NULL

您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。
代码如下:

PHP
$a = array (1,array (“a”,“b”,“c”));
var_export ($a);
/* 输出
array (
0 => 1,
1 => 2,
2 =>
array (
0 => ‘a',
1 => ‘b',
2 => ‘c',
),
)
*/
$b = 3.1;
$v = var_export($b,TRUE);
echo $v;
/* 输出
3.1
*/
?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐