我正在尝试使用以下函数将多维数组的所有键小写。下面的代码来自一个类。我看到当我在类中使用此方法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....
}
答案 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获取有关该错误的详细信息:)