|||
三者都是具有输出功能的php语句,但print_r(expression),var_dump(expression)是函数,echo只是语言结构,不是函数,因此不能作为表达式的一部分。
对于操作php的8种数据类型来说:
① echo 用于输出数值变量或者是字符串。但使用echo来输出引用变量时,如数组,仅输出数组的名字;当输出一个对象时,服务器提示<
Catchable fatal error: Object of class Person could not be converted
to string>
错误,错误显示echo只能用于输出字符串。
② print_r(expression)的作用是输出一个数组,实际上参数expression的类型可为数值变量和引用变量。
打印关于变量的易于理解的信息,如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。 记住,print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。
var_export:跟print_r和var_dump类似,但是很少用。
var_dump和print_r的区别:
var_dump返回表达式的类型与值而print_r仅返回结果,相比调试代码使用var_dump更便于阅读。
下面给出实例小代码:
<!DOCTYPE html>
<html>
<body>
<?php
$name="yang";
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
print_r(array_change_key_case($age,CASE_UPPER));
print_r("<br/>");
echo " his name is " . $name . "<br>";
$txt1="学习 PHP";
$txt2="runoob.com";
$cars=array("jeep","bench","audi");
echo $txt1 . "<br/>";
echo "在".$txt2."中学习"."很快乐!";
echo "<br/>";
echo "my car is {$cars[2]}".", my brother's is ".$cars[1].".<br>";
$arr1=array(1,2,array("a","c","d"));
$arr2=array(11,22,33);
var_dump($arr1);
print_r("<br/>");
print_r($arr2);
print_r("<br/>");
$a = 4;
$b = 8;
$d = $b + $a;
echo "d = " . $d;
?>
</body>
</html>
运行结果如下:
下面在给出一个json格式的输出:
$arr=array('a'='aaa',''b='bbb','c'='cccc'),array(′a′=>′ddd′,′b′=>′eee′,′c′=>′fff′),array(′a′=>′gg′,′b′=>′hh′));
arra=json_encode(arra);
print_r(arra);
var_export(arra);
var_dump(arra);
//print_r输出: [{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]
//var_export输出: '[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]'
//var_dump输出: string '[{"a":"aa","b":"bbb","c":"ccc"},{"a":"ddd","b":"eee","c":"fff"},{"a":"gg","b":"hh"}]' (length=84)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-19 22:58
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社