Код ниже - это в основном то, что я сделал на самом деле. Допустим, я хочу получить доступ к массиву с индексом 3 и 4-м элементом того же массива:
<?php
$data = array( array('1','2','3'),
'4', '5',
array('abc', 'klm','xyz'),
array('1', '2', '88908', '3', '4')
);
$this->session->set_userdata('data', $data);
print_r($this->session->userdata('data["5"]["4"]'));
?>
Я хочу получить доступ только к 88908.





Сначала получите полные данные:
$data=$this->session->userdata('data');
Затем получить доступ к массиву по ключу:
$my_var=$data[4][2] ; // returns 88908
Ты можешь использовать
var_dump($data)
чтобы увидеть, что находится в var.
Для доступа без сохранения в переменную вы можете использовать
print_r($this->session->userdata('data')['4']['2']);
Предполагая, что в set_userdata не происходит приведения к строке, числовые индексы должны быть целыми числами, а не строками. Они будут брошены, так что это, вероятно, сработает, но это немного грязно.
Какова ценность
$data? Это массив? Кроме того, вы можете установить только один параметр в set_userdata. Обновлено: Является ли88908идентификатором пользователя?