我在PHP 4.3.9
中有一个申请,我对SESSION
有疑问。
当我将变量SESSION
放入另一个变量时,如下所示:
$tempInsInscription = $_SESSION['ins_inscription'];
$_SESSION['ins_inscription']
内容已删除。
我不明白为什么。是PHP4的特殊性吗?
修改
我尝试了很多案例,找到了我丢失内容的地方,这是一个foreach:
reset($tempInsInscription);
foreach($tempInsInscription as $key => $ins_inscription){
if(is_array($ins_inscription)){
reset($ins_inscription);
foreach($ins_inscription as $key_etape => $etape){
$_SESSION["dossier"][$key_etape]=$etape;
}
}else{
$_SESSION["dossier"][$key]=$ins_inscription;
}
}
解决方案
我找到了解决问题的解决方案。这里是我的新代码&它完美无缺:
$tempInsInscription = $_SESSION['ins_inscription'];
$_SESSION['ins_inscription'] = $tempInsInscription;
reset($tempInsInscription);
while(list($key, $ins_inscription) = each($tempInsInscription)) {
if(is_array($ins_inscription)){
reset($ins_inscription);
while(list($key_etape, $value_etape) = each($ins_inscription)) {
$dossier[$key_etape]=$value_etape;
}
}else{
$dossier[$key]=$ins_inscription;
}
}
答案 0 :(得分:0)
解决方案
我找到了解决问题的解决方案。这里是我的新代码&它完美无缺:
$tempInsInscription = $_SESSION['ins_inscription'];
$_SESSION['ins_inscription'] = $tempInsInscription;
reset($tempInsInscription);
while(list($key, $ins_inscription) = each($tempInsInscription)) {
if(is_array($ins_inscription)){
reset($ins_inscription);
while(list($key_etape, $value_etape) = each($ins_inscription)) {
$dossier[$key_etape]=$value_etape;
}
}else{
$dossier[$key]=$ins_inscription;
}
}