Я нашел этот фрагмент кода в документации codeigniter, и мне было интересно, есть ли функция codeigniter, позволяющая узнать, существует ли значение в сеансе
$newdata = array(
'username' => 'johndoe',
'email' => 'johndoe@some-site.com',
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
Этот сеанс хранит массив в отличие от обычного сеанса с одним элементом.
как я могу получить доступ к элементам в этом массиве?
Как проверить, существует ли элемент в этом массиве?
Спасибо за ваши ответы, но я все еще не удовлетворен. Проверьте это
if ($roles->result_array())
{
foreach($roles->result_array() as $key => $value)
{
$role[] = $value['type'];
}
}
$this->session->set_userdata('role', $role);
с функцией print_r () я получаю этот вывод Array ( [0] => admission officer [1] => subject teacher )
когда я сделаю это print_r($this->session->userdata('role'))
я получу admission officer
, который является желаемым выводом, но моя задача состоит в том, как перебрать этот массив сеанса так, чтобы я мог знать размер массива и использовать значения индекса в цикле ?
что-то вроде:
for($i = 0; $i < $this->session->userdata('role')->length(); $i++)
{
if($this->session->userdata('role')[$i] == 'admission officer')
{
some code here...
}
}