首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >数组作为会话变量

数组作为会话变量
EN

Stack Overflow用户
提问于 2010-02-21 22:28:22
回答 3查看 287.9K关注 0票数 73

在PHP中可以将数组设置为会话变量吗?

情况是,我有一个表格(第1页),其中的一些单元格具有到特定页面的链接。下一页将有一个名称列表(第2页,我希望将其保存在会话数组中)以及它们各自的复选框。提交此表单时,将转到一个事务页面(第3页,已提交复选框的值保存在数据库中,用于对应的名称)。现在,如果我返回第一页并单击另一个单元格,会话数组将包含新的名称列表还是旧的名称列表?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-21 22:32:16

是的,PHP支持数组作为会话变量。有关示例,请参阅this page

至于你的第二个问题:一旦你设置了会话变量,它将保持不变,直到你改变它或者unset它。因此,如果第三个页面没有更改会话变量,它将保持不变,直到第二个页面再次更改它。

票数 82
EN

Stack Overflow用户

发布于 2017-10-03 18:31:02

代码语言:javascript
复制
<?php // PHP part
    session_start();          // Start the session
    $_SESSION['student']=array(); // Makes the session an array
    $student_name=$_POST['student_name']; //student_name form field name
    $student_city=$_POST['city_id'];   //city_id form field name
    array_push($_SESSION['student'],$student_name,$student_city);   
    //print_r($_SESSION['student']);
?>

<table class="table">     <!-- HTML Part (optional) -->
    <tr>
      <th>Name</th>
      <th>City</th>
    </tr>
                                                        
    <tr>
     <?php for($i = 0 ; $i < count($_SESSION['student']) ; $i++) {
     echo '<td>'.$_SESSION['student'][$i].'</td>';
     }  ?>
    </tr>
</table>
票数 5
EN

Stack Overflow用户

发布于 2014-11-09 07:12:08

首先,使用implode()函数将数组更改为字符串。例如,$number=array(1,2,3,4,5,...); $stringofnumber=implode("|",$number);然后将字符串传递给会话。例如$_SESSION['string']=$stringofnumber;,所以当你进入你想要使用数组的页面时,只要分解你的字符串即可。例如,$number=explode("|", $_SESSION['string']);最后的数字是你的数组,但记住在每一页的开始数组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2306159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档