【问题标题】:Rendering content from one array to another in codeigniter在codeigniter中将内容从一个数组渲染到另一个数组
【发布时间】:2018-08-16 10:07:58
【问题描述】:

这是我的代码:

$this->data['users'] = $this->Ion_auth->usersdata();
foreach($users as $list){
    $data = array(
        'id' =>$list->id,
        'email' => $list->email,
        'username' => $list->username,
        'active' => $list->active
    );
}

$this->data['userslist'] = $data;
$this->render('users/users_list','public_master');

我想从 Ion_auth 获取数据作为模型,从 userdata 获取数据作为方法,然后将它们作为数组存储到 $data 中,以便在控制器将它们发送到视图之前加密其中的一些(如 id)。

【问题讨论】:

    标签: php arrays codeigniter encryption


    【解决方案1】:

    在这里,您将在每个循环中覆盖 $data。因此,当您分配 $this->data['userslist'] = $data; 时,唯一剩下的就是上次迭代中声明的 $data

    您可以尝试以下方法:

    $this->data['userslist'] = [];
    foreach($users as $user) {
        $this->data['userslist'][] = array('id' =>$user->id,
                                           'email' => $user->email,
                                           'username' => $user->username,
                                           'active' => $user->active
        );
    }
    
    $this->render('users/users_list','public_master');
    

    【讨论】:

      【解决方案2】:

      您每次循环都会覆盖您的 $data 变量。 而且您没有解决在 foreach 循环中正确放置 Ion 调用结果的位置。

      $this->data['users'] = $this->Ion_auth->usersdata();
      
      foreach($this->data['users'] as $list){
          $data[] = array(
              'id' =>$list->id,
              'email' => $list->email,
              'username' => $list->username,
              'active' => $list->active
          );
      }
      
      $this->data['userslist'] = $data;
      $this->render('users/users_list','public_master');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-23
        • 1970-01-01
        • 2021-12-04
        • 2018-12-12
        • 1970-01-01
        • 1970-01-01
        • 2018-08-13
        • 2021-12-04
        相关资源
        最近更新 更多