in_array() 期望参数 2 是数组,给定的字符串

我正在使用 SQL 服务器构建 CodeIgniter 应用程序。


我从数据库中读取用户权限,然后将其存储,以便根据用户权限显示侧边栏菜单,但出现此错误:


in_array() 期望参数 2 是数组,给定字符串


这是我的控制器代码:


    public function __construct() 

{

    parent::__construct();


    $group_data = array();

    if(empty($this->session->userdata('logged_in'))) {

        $session_data = array('logged_in' => FALSE);

        $this->session->set_userdata($session_data);

    }

    else {

        $user_id = $this->session->userdata('id');

        $this->load->model('model_groups');

        $group_data = $this->model_groups->getUserGroupByUserId($user_id);




        preg_replace_callback('!s:(\d+):"(.*?)";!', 

            function($match) {

             return ($match[1] == strlen($match[2])) ? $match[0] : 's:' . strlen($match[2]) . ':"' . $match[2] . '";';},

             $group_data['permission'];);




        $this->data['user_permission'] = $group_data['permission'];

        var_dump($this->data['user_permission']);

        $this->permission = $group_data['permission'] ;


    }

}

当我尝试显示数据中存储的内容时 var_dump($this->data['user_permission']); 我得到:在此处输入图片说明


我正在尝试像这样在我的视图中使用它们:


  <?php if(in_array('createUser', $this->data['user_permission']) || in_array('updateUser', $this->data['user_permission']) || in_array('viewUser', $this->data['user_permission']) || in_array('deleteUser', $this->data['user_permission'])): ?>

        <li class="treeview" id="userSideTree">

        <a href="#">

          <i class="fa fa-users"></i>

          <span>Utilisateurs</span>

          <span class="pull-right-container">

            <i class="fa fa-angle-left pull-right"></i>

          </span>

        </a>

你能帮我解决这个问题吗?


BIG阳
浏览 165回答 1
1回答

慕神8447489

你有一个序列化的字符串,引号被转义了。去除斜线并反序列化:$this->data['user_permission']&nbsp;=&nbsp;unserialize(stripslashes($group_data['permission']));您没有显示整个字符串,因此它可能存在其他问题。文本而不是图像会有所帮助。
打开App,查看更多内容
随时随地看视频慕课网APP