为了方便的将数组写入日志,就只能将数组变化为字符串,然后写入文本了。先想了一个办法,依次用递归的办法将数组转化。
<pre class="brush:php;"> function array2str($array, $text="", $l=0) {
if (!is_array($array) && $l<=0) {
$array=array($array);
}
$text="";
while(list($key,$value) = each($array)) {
$text .= str_repeat(' ', $l*4)."".$key." : ";
if (is_array($value)){
$text.='
';
$l++;
$text.=show_array_value($value,$text,$l);
$l--;
} else {
$text.=$value.'
';
}
}
return $text;
}
```
<p>
写完觉得还行,偶然见在别人的代码里看到一个函数,也很不错的想法,而且按照这个思路,还可以将print_r等函数的输出都放入字符串。</p>
<pre class="brush:php;"> function varDump($data) {
ob_start();
var_dump($data);
$ret_val = ob_get_contents();
ob_end_clean();
return $ret_val;
}
```
php 数组 字符串 日志 转换 log var_dump ob_start ob_end_clean