PHP 中 var_export、print_r、var_dump 调试中的区别


Posted in PHP onJune 19, 2018

1、output basic type

代码

$n = "test";
var_export($n);
print_r($n);
var_dump($n);
echo '-----------------' . '<br/><br/>';
file_put_contents("index.log", var_export($n, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", print_r($n, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", var_dump($n) . PHP_EOL, FILE_APPEND);

结果

(1)前端:

'test'  test  /Users/xjnotxj/Program/PhpstormProject/colin/index.php:9:string 'test' (length=4)  -----------------  /Users/xjnotxj/Program/PhpstormProject/colin/index.php:15:string 'test' (length=4)

(2)index.log:

'test'  test

2、output array

代码

$arr = array(
  "a" => 1,
  "b" => "222",
  "c" => 3,
);
var_export($arr);
print_r($arr);
var_dump($arr);
echo '-----------------' . '<br/><br/>';
file_put_contents("index.log", var_export($arr, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", print_r($arr, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", var_dump($arr) . PHP_EOL, FILE_APPEND);

结果

(1)前端:

array ( 'a' => 1, 'b' => '222', 'c' => 3, )  Array ( [a] => 1 [b] => 222 [c] => 3 )  /Users/xjnotxj/Program/PhpstormProject/colin/index.php:13:  array (size=3)  'a' => int 1  'b' => string '222' (length=3)  'c' => int 3  -----------------  /Users/xjnotxj/Program/PhpstormProject/colin/index.php:19:  array (size=3)  'a' => int 1  'b' => string '222' (length=3)  'c' => int 3

(2)index.log:

array ( 'a' => 1, 'b' => '222', 'c' => 3, ) Array ( [a] => 1 [b] => 222 [c] => 3 )

3、output object

代码

class foo
{
  public $n;
  public function do_foo()
  {
    echo "Doing foo." . $this->n;
  }
}
$object = new foo;
var_export($object);
print_r($object);
var_dump($object);
echo '-----------------' . '<br/><br/>';
file_put_contents("index.log", var_export($object, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", print_r($object, true) . PHP_EOL, FILE_APPEND);
file_put_contents("index.log", var_dump($object) . PHP_EOL, FILE_APPEND);

结果

(1)前端:

foo::__set_state(array( 'n' => NULL, ))
foo Object ( [n] => )
/Users/xjnotxj/Program/PhpstormProject/colin/index.php:19:  object(foo)[1]  public 'n' => null  -----------------  /Users/xjnotxj/Program/PhpstormProject/colin/index.php:25:  object(foo)[1]  public 'n' => null

(2)index.log:

foo::__set_state(array( 'n' => NULL, )) foo Object ( [n] => )

总结:

1、输出结果的详细性: var_export ≈ print_r < var_dump

2、调试的时候,调用 var_export、print_r、var_dump 的时候, 不用 在前加 echo 。

3、var_export,print_r 的 第二个参数为true则返回值。var_dump 不支持 ,所以用 file_put_contents 输出调试的时候不要用 var_dump。

4、推荐开发环境的调试直接使用 var_dump,可以获得详细的调试信息和代码行数定位;生产环境的调试使用 var_export 或 print_r,第二个参数记得设置为 true 转为返回输出值,而不是直接输出到前端影响线上。

总结

以上所述是小编给大家介绍的PHP 中 var_export、print_r、var_dump 调试中的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
数据库相关问题
Oct 09 PHP
PHP 模板高级篇总结
Dec 21 PHP
phpwind中的数据库操作类
Jan 02 PHP
php xfocus防注入资料
Apr 27 PHP
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
Mar 23 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
Nov 01 PHP
浅析PKI加密解密 OpenSSL
Jul 01 PHP
深入解析Session是否必须依赖Cookie
Aug 02 PHP
PHP数学运算与数据处理实例分析
Apr 01 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
Oct 15 PHP
PHP执行linux命令6个函数代码实例
Nov 24 PHP
总结PHP代码规范、流程规范、git规范
Jun 18 #PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 #PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 #PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 #PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 #PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 #PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 #PHP
You might like
15种PHP Encoder的比较
2007/04/17 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
PHP中copy on write写时复制机制介绍
2014/05/13 PHP
php中创建和调用webservice接口示例
2014/07/25 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
PHP执行SQL文件并将SQL文件导入到数据库
2015/09/17 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
一段利用WSH修改和查看IP配置的代码
2008/05/11 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
JavaScript中的parse()方法使用简介
2015/06/12 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
React SSR样式及SEO的实践
2018/10/22 Javascript
使用jQuery动态设置单选框的选中效果
2018/12/06 jQuery
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
小程序根据手机机型设置自定义底部导航距离
2019/06/04 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
2020/07/20 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
python爬虫常用的模块分析
2014/08/29 Python
收集的几个Python小技巧分享
2014/11/22 Python
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
浅谈django channels 路由误导
2020/05/28 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
公司大门门卫岗位职责
2014/06/11 职场文书
大专生自荐书范文
2014/06/22 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
描写九月优美句子(39条)
2019/09/11 职场文书
golang 实现对Map进行键值自定义排序
2021/04/28 Golang
pandas DataFrame.shift()函数的具体使用
2021/05/24 Python