Я пытаюсь отобразить массив или массивы в моем представлении, и у меня возникают трудности с тем, как это сделать, поэтому любая помощь будет высоко ценится 🙂
Мой массив массивов в модели:
$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" } } }
это означает, что отображается один пользователь
Пожалуйста, помогите, так как я очень смущен.
Большое спасибо.
Проблема, с которой вы сталкиваетесь, заключается в том, что вы ожидаете $this->model->getUserDetails()
вернуть один массив с данными пользователя. Фактически он возвращает массив, который вам нужен, вложенный в несколько других массивов.
Измените эту строку:
$this->load->view('view', array('user' => $result);
Для того, чтобы:
$this->load->view('view', array('user' => $result['result'][0]);
И я верю, что ваша проблема будет решена.
Хотя эта линия не выглядит так красиво! Если вы хотели getUserDetails()
Функция возвращает только один массив для одного пользователя (предположительно текущий, вошедший в систему), тогда я бы рекомендовал изменить возвращаемое значение этой функции.
Других решений пока нет …