Я создаю приложение CodeIgniter с сервером SQL.
Я читаю разрешение пользователя из базы данных и затем сохраняю его, чтобы я мог показывать боковое меню в соответствии с разрешением пользователя, но я получаю эту ошибку:
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>
Можете ли вы помочь мне с этим?