我如何将这些值存储到一个Session PHP中

时间:2015-06-14 21:59:42

标签: php session

我有这个包含多个值的变量,我想将所有值保存到$_SESSION['gamecode']。它仅显示最后一个值。

$var=explode("|",$key);
    $gamecode=trim($var[0]);
session_start();
$gc[]= trim($var[0]);
$_SESSION['gamecode'][]=$gc;
var_dump($_SESSION['gamecode']);

EDITED

foreach($_POST['gm'] as $key => $answer){
    if($answer != ''){
    $var=explode("|",$key);
    $gamecode=trim($var[0]);
$_SESSION['gamecode'][]=$gc;
    var_dump($_SESSION['gamecode']);

编辑2

foreach($_POST['gm'] as $key => $answer){
        if($answer != ''){
        $var=explode("|",$key);
        $gamecode=trim($var[0]);
  }
    $_SESSION['gamecode'][]=$gc;
        var_dump($_SESSION['gamecode']);

3 个答案:

答案 0 :(得分:2)

如果你想要所有值

$var=explode("|",$key);
$_SESSION['gamecode']=$var;

或只是

$_SESSION['gamecode']=explode("|",$key);

目前你只是存储第一个。

$var[0]是爆炸后的第一个数组元素

答案 1 :(得分:0)

那么你是否想让$ _SESSION ['游戏代码']成为一组管道值?或者$ _SESSION ['游戏代码']本身就是一个数组?

目前还不完全清楚你在这里做了什么。

看起来你已经在$ key中输入了管道值,你正在制作数组$ var,并将第一个值提取到$ gamecode。

这里有很多冗余,你并没有明确表达你想要的东西。

如果您尝试将$ _SESSION ['游戏代码']设为具有多个值的数组,您可能需要执行类似

的操作
session_start();
$var=explode("|",$key);
$_SESSION['gamecode'] = $var;

print_r($_SESSION['gamecode']);

否则如果你想让它成为多个值的字符串,那么将$ key作为JSON字符串可能会更有成效,不是吗?

对我来说,没有足够的细节给你一个简洁的答案。

答案 2 :(得分:0)

我明白了。通过在foreach循环中启动Session并在循环外调用它。它工作正常。感谢

{{1}}