我有一个数组,它打破了error_log(),但没有打破print_r(),否则完全正常

时间:2016-03-30 15:27:04

标签: php arrays error-handling

我要么缺少某些东西,要么在PHP 5.6.17中发现了一个错误。

我有一个数据数组,当我通过error_log()(编辑:使用print_r($ array,true),所以我传递一个字符串)我得到;

Array
(
    [

我通常希望看到的地方;

Array
(
[person_id]=> 123456
)

就好像第一个数组键是终止输出一样,但是第一个数组键是一个空的子数组,并没有什么奇怪的。

奇怪的是,当我使用print_r()时,它会很好地打印数组,并且所有基于数组的PHP函数操作数组或迭代它们对数组没有任何问题。

我的一些钥匙是这样的;

Array
(
[per_roles] => Array
    (
    )

[per_roles_retrieved] => 
[per_cache] => Array
    (
    )

[*member] => 
[*addresses] => 
[*marketing_preferences] => 
[*suppliers] => 
[_table] => address
[id] => 454545
[*exists] => 1
[*_related_objects] => Array
    (
    )

[*_related_object] => Array
    (
    )
[first_name] => John
[middle_name] => 
[last_name] => Smith

)

问题是什么,是星号吗?

1 个答案:

答案 0 :(得分:0)

根据http://php.net/manual/en/function.error-log.php的手册,error_log()函数将字符串作为参数,而不是数组。尝试在调用error_log()之前将数组转换为字符串。