日期:2014-05-17  浏览次数:20508 次

请各位大大帮忙,php中session数组合并的问题!
<?php
session_start();
$page=$_POST['page'];  //传递回page值进行循环比较
$pagestr="p".$_POST['page']; //将page值转为字符数组的关键字
$pagecount=$_POST['pagecount'];
$idstr=$_POST['idstr'];

for($i=1;$i<=$pagecount;$i++){
  if ($i=$page) {
$_SESSION[$i]=array($pagestr=>$idstr);
$_SESSION[idstr]=array_merge($_SESSION[idstr],$_SESSION[$i]);};
break;}; //进行循环,并将每页选择的复选框信息储存到数组中
$_SESSION[total_idstr]=implode("",$_SESSION[idstr]); //将数组转换为字符串,包含了所有复选框选择的信息    
echo $_SESSION[total_idstr];
?>

做了一个获取复选框的会话,用字符串作为键值P1表示第一页,然后将第一页选择的内容输入到数组,格式为p1=>1|2|,问题在合并数组的时候无发获得相应的值,echo没有输出,不知道是怎么回事!怕碰到死循环,所以在循环到$i=$page就跳出了!
家里的电脑执行完全没有问题!
单位的电脑同样的环境却无法输出!
求解啊,什么问题!

------解决方案--------------------
if ($i=$page) {
应为
if ($i==$page) {

贴出 print_r($_POST) 和 print_r($_SESSION) 的结果
------解决方案--------------------
session_start();
if(! isset($_SESSION['idstr'])) $_SESSION['idstr'] = array();