thinkphp5 in_array函数 不区分大小写的实现

比如访问的链接是:http://www.域名.com/mobile.php/User/getCode.html
访问User控制器的getCode方法

$request = \think\Request::instance();
$action =  $request->action();//这里获取的方法是小写的(getcode)
//不需要登录的操作
        $no_login_action = array('login','do_login','logout','register','getCode','jsonRegionC','jsonRegionD');
        //未登录处理
        $this->user_id = session::get('user_id') ? session::get('user_id') : '';

        if(empty($this->user_id)){
            if(!in_array(strtolower($action),array_map('strtolower',$no_login_action))){
                header("Location:".url('User/login'));exit;
            }
        }

不区分大小写实现的代码如下,把方法及传递的全转为小写:

in_array(strtolower($action),array_map('strtolower',$no_login_action)

你可能感兴趣的:(php,thinkphp)