Показать массив массивов в поле зрения контроллера codeigniter

Я пытаюсь отобразить массив или массивы в моем представлении, и у меня возникают трудности с тем, как это сделать, поэтому любая помощь будет высоко ценится 🙂

Мой массив массивов в модели:

$user = array();
...
$user[$id] = array(
'id' => $userId[$id],
'match' => $percentage
);
return array('userInfo' => $user);

которая хранит информацию от некоторых пользователей. Я передаю его в контроллер и оттуда к представлению, где я хочу отобразить информацию в массиве $ user. В массиве может быть один или несколько пользователей.

вот мой контроллер:

$result = $this->model->getUserDetails();

$this->load->view('view', array('user' => $result);

с точки зрения я хочу напечатать информацию, но я не знаю, как это сделать, так как я никогда не работал с массивами массивов, и я немного запутался.

вот вид:

<?php foreach ($user['userInfo'] as $index => $value) {
echo $value[$index]['id'].' '.$value[$index]['match'];
?>

если я сделаю это так

или же

echo $value['id'];

или же

echo $index['id'];

представление ничего не отображает или не нравится индекс ‘id’

это то, что я имею для

var_dump($result);

array(1) { ["result"]=> array(1) { [0]=> array(11) {
["id"]=> string(2) "55"["fname"]=> string(6) "Dan" ["lname"]=> string(5) "Re"["email"]=> string(18) "[email protected]" ["username"]=> string(6) "dan"["gender"]=> string(4) "Male" ["DOB"]=> string(10) "1990-07-13"["profile_image"]=> string(8) "dan.jpg"["short_des"]=> string(147) "I love singing and playing music"["pwd"]=> string(4) "dan" ["confirm_pwd"]=> string(4) "dan" } } }

это означает, что отображается один пользователь

Пожалуйста, помогите, так как я очень смущен.

Большое спасибо.

1

Решение

Проблема, с которой вы сталкиваетесь, заключается в том, что вы ожидаете $this->model->getUserDetails() вернуть один массив с данными пользователя. Фактически он возвращает массив, который вам нужен, вложенный в несколько других массивов.

Измените эту строку:

$this->load->view('view', array('user' => $result);

Для того, чтобы:

$this->load->view('view', array('user' => $result['result'][0]);

И я верю, что ваша проблема будет решена.

Хотя эта линия не выглядит так красиво! Если вы хотели getUserDetails() Функция возвращает только один массив для одного пользователя (предположительно текущий, вошедший в систему), тогда я бы рекомендовал изменить возвращаемое значение этой функции.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]