在PHP类中,调用内部方法显示错误消息

时间:2019-11-07 03:40:47

标签: php

我正在尝试使用以下函数将多维数组的所有键小写。下面的代码来自一个类。我看到当我在类中使用此方法to_lower()时,它向我显示错误消息:

  

该站点遇到技术困难。请检查您的   网站管理员电子邮件收件箱中的说明。

但是,如果我在没有类的情况下测试此方法/函数,则效果很好!谁能告诉我为什么会这样吗?

public function to_lower($arr)
{
    return array_map(function($item){
        if(is_array($item))
            $item = to_lower($item);
        return $item;
    },array_change_key_case($arr));
}

public function logout_redirect_to()
{

    $user = $this->current_user;
    $options = $this->options['wpll_general_settings'];
    echo '<pre>';
    print_r($this->to_lower($options)); // why this line is showing error message? 
    wp_die();
    /// more code here....
}

1 个答案:

答案 0 :(得分:2)

您的递归调用是错误的

public function to_lower($arr)
    {
        return array_map(function($item){
            if(is_array($item))
                $item = $this->to_lower($item); //Your recursive call is wrong
            return $item;
        },array_change_key_case($arr));
   }

要获得调试帮助,请在本地开发服务器上显示您的php错误,或使用error_log获取有关该错误的详细信息:)