从控制器codeigniter显示视图中的数组数组

时间:2016-04-03 20:09:44

标签: php arrays codeigniter view display

我正在尝试在我的视图中显示一个或多个数组,我在如何操作方面遇到了困难,所以任何帮助都将非常感激:)

我在模型中的数组数组:

$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&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) "d@gmail.com" ["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 个答案:

答案 0 :(得分:1)

您面临的问题是您希望$this->model->getUserDetails()返回包含用户详细信息的单个阵列。实际上它正在返回你关心的数组嵌套在其他几个数组中。

更改此行:

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

要:

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

我相信你的问题会得到解决。

虽然那条线看起来不那么漂亮!如果您希望getUserDetails()函数只返回一个关于单个用户的数组(可能是当前登录的那个),那么我建议更改该函数的返回值。