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的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP:以数组为参数调用另一个控制器动作的最佳方法?

CakePHP - 如何在保存时将关联记录添加到模型中?

cakePHP 从自定义数组构建一个选择框

Cakephp - 创建记录但没有数据的保存方法

CakePHP 从一个 habtm 返回多条记录

CakePHP 3:修改查找数据