session中存放二维数组的问题请教
发布网友
发布时间:2022-05-16 21:16
我来回答
共3个回答
热心网友
时间:2023-09-10 21:59
你得把对应的值加到session中对应的键当中去,不然就会直接将以前的值覆盖。
例如:现在session当中有这个数组,$arra = $_SESSION['name'];取的这个数组可能是如下形式,
$arra[0]['name'] = 'ltx';$arra[1]['name'] = 'ltx1';$arra[2]['name'] = 'ltxdd';
按照你上面描述文字的意思,可能是想在这个数组后面再加个$arra[3]['name'] = 'ltxdsg';
这个时候,你得先把session中之前的数组取出来,例如:$arr = $_SESSION['name'];
然后将这个数组的长度取出来,$len = count($arr);
最后将需要设置的值加在这个数组的后面,$arr[$len]['name'] = 设置的值;
现在就可以了。
热心网友
时间:2023-09-10 22:00
你这样做当然被清空了,你是把session赋值了,原来的值当然会没有了,赋值时先把原来的值拿出来,在把新值加在原有的值的后面,在赋值给session.
还有一种方法就是ArrayList, 很简单
ArrayList array = new ArrayList();
array.add(Arr[][]);
但是在赋值时要想保留以前的值,还是要把array取出来,
取出后,在 array.add(object);
然后在Session["list"] = array;
热心网友
时间:2023-09-10 22:00
上面说的都对啊,同学。