我正在使用CodeIgniter
编写此项目,您可以在其中添加和删除存储桶中的项目,例如互联网商店。
我的会话类中有一个数组,我要做的是按id搜索元素并删除它们。
public function removeRow($id) {
if ($id) {
$bucket = $this->session->userdata('bucket');
foreach ($bucket as $key => $value) {
if ($value['id'] == $id) {
unset($bucket[$key]);
}
}
$this->session->set_userdata(array(
'bucket' => $bucket
)
);
}
和session
信息:
Array
(
[session_id] => e0c6303a7c24a05436ef0abfe2424c44
[ip_address] => 127.0.0.1
[user_agent] => Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:19.0) Gecko/20100101 Firefox/19.0
[last_activity] => 1363718778
[user_data] =>
[a] => test
[bucket] => Array
(
[0] => Array
(
[0] => Array
(
[id] => 3
[name] => Maksas Frajus - Amžinybės glėbyje
[price] => 30.99
)
)
[1] => Array
(
[0] => Array
(
[id] => 1
[name] => Maksas Frajus - Atėjūnas
[price] => 35.99
)
)
[2] => Array
(
[0] => Array
(
[id] => 2
[name] => Maksas Frajus - Paprasti stebuklingi daiktai
[price] => 27.5
)
)
)
)
我收到此错误消息:
Message: Undefined index: id
我甚至都不知道自己做错了什么。有人可以解释一下吗?
答案 0 :(得分:2)
if ($value['id'] == $id) {
应该是这样的:
if ($value[0]['id'] == $id) {
你有一个嵌套数组,所以你需要更深层次。
以下评论的示例数组:
[bucket] => Array
(
[3] => Array
(
[id] => 3
[name] => Maksas Frajus - Amžinybės glėbyje
[price] => 30.99
)
[1] => Array
(
[id] => 1
[name] => Maksas Frajus - Atėjūnas
[price] => 35.99
)
[2] => Array
(
[id] => 2
[name] => Maksas Frajus - Paprasti stebuklingi daiktai
[price] => 27.5
)
)