PHP ---- var_dump(),echo,print_r()的区别
来源:互联网 发布:淘宝网信鸽鸽具用品 编辑:程序博客网 时间:2024/05/22 14:46
在php开发时,我们经常要调试代码,而最常用的方法就是通过输出变量的值,来判断程序是否运行正确。在php中,最常用的三个输出语句便是var_dump(),echo,print_r()。这三个语句都可用来输出,然而它们之间的作用还是有区别的。
var_dump()
var_dump(expression)函数的输出结果<变量类型,变量值,变量长度>,参数expression表示各种变量类型,作用是输出一个变量的详细信息。
$student = array( 'name'=>'frank', 'age'=>'12', 'height'=>'170', 'weight'=>'54' ); var_dump($student);
例如:这里定义了一个数组变量,然后用var_dump把它输出,可以看到输出的数据为
array (size=4) 'name' => string 'frank' (length=5) 'age' => string '12' (length=2) 'height' => string '170' (length=3) 'weight' => string '54' (length=2)
从这里看出来var_dump输出的变量,有变量的类型,变量的值,以及变量的长度。另外var_dump()还有一个与echo不同的地方是var_dump可以输出对象,echo 输出对象时会报错。
例子:
定义一个Courese类,定义公有属性 name,time, teacher
class Course { public $name; //课程名称 public $time; //课程时长 public $teacher; //授课老师}
先new一个对象,然后给这个对象赋值,并输出这个对象。
$course = new Course(); $course->name = '计算机网络'; $course->teacher = '李老师'; $course->time = '2小时'; var_dump($course);
可以看到输出的数据为:
object(backend\models\Course)[87] public 'name' => string '计算机网络' (length=15) public 'time' => string '2小时' (length=7) public 'teacher' => string '李老师' (length=9)
如果我们用echo来输出这个对象,页面会提示如下信息:
这是因为echo输出时会将数据转化为string类型输出,显然这里对象不能转化string输出,所以就报错了。
print_r()
print_r(expression)的作用是输出一个数组,实际上参数expression的类型可为数值变量和引用变量。
同样我们还是引用上面的类,然后new一个对象,接着用print_r去输出它,结果为:
backend\models\Course Object ( [name] => 计算机网络 [time] => 2小时 [teacher] => 李老师 )
从这里可以看出print_r将其作为数组输出,但是和var_dump不同的一点是print_r只能输出属性的值,而var_dump显示的信息更多。
echo
echo 用于输出数值变量或者是字符串。但使用echo来输出引用变量时,如数组,仅输出数组的名字;当输出一个对象时,服务器提示之类的错误。
同样的我们定义一个变量
$grades = 100; echo $grades;
打印出来的内容就只有100。
小结:一般我们在调试时,通常会选择用var_dump来输出变量的值,因为显示的信息更全。我们通常用echo来做传值使用,比如说将后台的传过来的值接收在前台显示。print_r()通常用来作为数组输出使用。
- php echo、 print()、 print_r()、 var_dump()的区别
- PHP ---- var_dump(),echo,print_r()的区别
- php 的 echo(),print(),print_r(),printf() var_dump() return 的区别
- PHP:echo、print、print_r、sprintf、var_dump之间的区别
- 【转】PHP:echo、print、print_r、sprintf、var_dump之间的区别
- php输出echo、print、print_r、printf、sprintf、var_dump的区别
- PHP:echo print var_dump()和print_r()的区别
- php中 echo print print_r var_dump的区别
- 初学php之echo print print_r var_dump的区别
- PHP中 echo, print_r与var_dump的区别分析
- php中echo/print/print_r()/var_dump()的区别
- PHP中的echo、print、print_r、sprintf、var_dump之间的区别
- PHP调试时echo print() print_r() var_dump()的区别
- php调试时echo,print_r(),var_dump()的区别
- php echo, print(), print_r(), sprintf(), var_dump(), var_export() 的区别
- PHP echo print print_r var_dump var_export 区别
- echo print_r var_dump 区别
- echo(),print(),print_r(),var_dump()的区别
- Android应用内切换应用语言
- 2017 Multi-University Training Contest
- Centos 6.5 下GBrowse 2.0安装(详细版)
- 软件测试工具
- RxAndroid菜鸟必入
- PHP ---- var_dump(),echo,print_r()的区别
- 回溯法 解决二叉树中找一条和为固定数值的路径(java)
- 设计模式介绍之二:单例模式(Singleton)
- JPA-EntityManager
- Spring Boot 揭秘与实战(二) 数据存储篇
- 【系统学习SpringBoot】springBoot 入门篇
- js中判断客户端有无安装Adobe 并指引用户安装
- Python-22 文件系统:os模块
- 【干货合集】阿里云专家诠释持续集成与云端交付的正确姿势