cakephp 将数组记录为 var_dump
Posted
技术标签:
【中文标题】cakephp 将数组记录为 var_dump【英文标题】:cakephp log an array as var_dump 【发布时间】:2012-09-07 16:07:45 【问题描述】:我需要跳转到服务器端代码。它在那里使用 cakephp。我想看一个变量,我认为它是一个模型,但我不确定,让成为一个变量 in or case。
CakeLog::write('debug', 'myArray'.var_export($myArray) );
会有输出
myArray: Array
我希望看到与 var_dump 可以产生的输出类似的输出。
这可能吗?如果是,比如何?
感谢任何帮助。
【问题讨论】:
我只是做了 var_dum($myarray);在我的控制器中,我在视图中打印了结果数组。可能有帮助。 【参考方案1】:只需使用print_r,它接受第二个参数不输出结果。
CakeLog::write('debug', 'myArray'.print_r($myArray, true) );
如果您不想在日志文件中出现新行、制表符或双空格:
$log = print_r($myArray, true);
$log = str_replace(array("\n","\t"), " ", $log);
$log = preg_replace('/\s+/', ' ',$log);
CakeLog::write('debug', 'myArray' . $log);
【讨论】:
【参考方案2】:试试:
CakeLog::write('debug', 'myArray'.print_r($myArray, true));
true
参数使 print_r 返回值而不是在屏幕上打印,所以你可以保存它。
http://br2.php.net/manual/en/function.print-r.php
【讨论】:
【参考方案3】:有人提出了重定向方法here。
这个我以前看过,里面有什么,显示的很清楚。
【讨论】:
这家伙使用ob_start()
来获取var_dump()
的返回值,这是print_r($var, true)
在内部所做的。看来他正在使用旧版本的php。以上是关于cakephp 将数组记录为 var_dump的主要内容,如果未能解决你的问题,请参考以下文章