如何在codeigniter中取消设置特定的数据数组

时间:2013-01-23 04:49:14

标签: codeigniter session

我和这些人一起工作了两天。需要帮助。

这是我的观点

$username = json_decode($this->session->userdata('users'), TRUE);

    foreach ($username AS $key => $value) {

    <?php echo $value['username']; ?>
    <?php echo $value['firstname']; ?>
    <?php echo $value['lastname']; ?>
    <?php $u = $value['username']; ?>
    <?php echo "<a href=".base_url()."index.php/bets/un_sess/$u /> X </a> " ?>

    <?php } ?>

这是我的控制器

$user1 = json_decode($this->session->userdata('users'), TRUE);
 foreach ($user AS $key => $value) {
       $index = array_search($username, $user);
       unset($user[$index]);          
      $this->session->set_userdata('users', $user);
来自user_data的

数组

{"username":"user1","firstname":"name1","lastname":"name2"},
{"username":"user2","firstname":"test","lastname":"test"}

这是我第一次点击时的输出 用户名工作,但当我点击另一个用户名时,它会给出这样的错误

  

遇到PHP错误

     

严重性:警告

     

消息:isset中的非法偏移类型或空

     

文件名:libraries / Session.php

     

行号:433遇到PHP错误

     

严重性:警告

     

消息:为foreach()提供的参数无效

     

文件名:controllers / bets.php

     

行号:290

1 个答案:

答案 0 :(得分:0)

好的,因为我的问题没有回答。这是我的解决方案

 $user = json_decode($this->session->userdata('users'), TRUE);
        foreach ($user AS $key => $value) {
          if ($username == $value['username']){

          unset($user[$key]);
         }
        }

       $this->session->set_userdata('users', json_encode($user));