2013-01-23 59 views
0

我和这些人一起工作了两天。在这里需要帮助。如何在codeigniter中取消设置特定的数据阵列

这是我的视图

$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或空

文件名非法偏移类型:库/ session.php文件

行号:433 PHP遇到错误

严重性:警告

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

文件名:控制器/ bets.php

行号:290

+0

看看你的控制器,你存储'$ user1' json_decoded数据,然后在的foreach – Uttara

+0

使用'$ user'当我改变USER1 $至$用户提示错误这样 甲PHP错误遇到 严重性:警告 消息:json_decode()预计参数1是字符串,数组给定 文件名:控制器/ bets.php 行号:288 – webstudent

+0

这是我的答案$用户= json_decode ($ this-> session-> userdata('users'),TRUE); ($ username = $ value ['username']){ \t // $ array_items = array('username'=> $ value ['username '],'firstname'=> $ value ['firstname'],'lastname'=> $ value ['lastname']); 未设置($ user [$ key]); \t \t} \t \t} \t $这 - >会话级> set_userdata( '用户',json_encode($用户)); – webstudent

回答

0

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

$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)); 
相关问题