linqy的个人博客分享 http://blog.sciencenet.cn/u/linqy

博文

PHP中 echo, print_r与var_dump的区别分析

已有 3019 次阅读 2018-4-24 09:21 |个人分类:php|系统分类:科研笔记| php, var_dump, print_r, echo

 

三者都是具有输出功能的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>

运行结果如下:

blob.png

下面在给出一个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)



https://blog.sciencenet.cn/blog-3134052-1110614.html

上一篇:Xampp mysql无法启动的解决方案
下一篇:HTML、CSS、JavaScript、PHP、 MySQL 的学习顺序是什么?
收藏 IP: 218.58.59.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-14 14:09

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部