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

来源:互联网 发布:征管基础数据核实表 编辑:程序博客网 时间:2024/05/22 00:36

比如访问的链接是: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)