Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将php中的数组从post更改为会话变量_Php_Arrays_Forms_Post - Fatal编程技术网

将php中的数组从post更改为会话变量

将php中的数组从post更改为会话变量,php,arrays,forms,post,Php,Arrays,Forms,Post,几天前,我发布了一篇关于如何处理阵列的帖子,得到了很好的回复。 这正是我需要的 foreach ($_POST['name'] as $key=>$name) { echo "Name: $name Age: {$_POST['age'][$key]}"; } 问题是,我需要的不是打印,而是坚持。我正在制作会话变量,比如$\u会话[“name”]=“some name” 我想知道如何将POST数组从上面转储到$SESSION[array]; 最终,能够在任意页面上重新转储所有数据。

几天前,我发布了一篇关于如何处理阵列的帖子,得到了很好的回复。 这正是我需要的

foreach ($_POST['name'] as $key=>$name) {
  echo "Name: $name  Age: {$_POST['age'][$key]}";
}
问题是,我需要的不是打印,而是坚持。我正在制作会话变量,比如
$\u会话[“name”]=“some name”

我想知道如何将POST数组从上面转储到$SESSION[array]; 最终,能够在任意页面上重新转储所有数据。我需要访问数组中的$name和$age,并希望它们关联起来。 用java我会的

String[][] something = new String[10][2]; //10 is size and 2 allows for name at index 0 and age at index 1. 
要记住的事情。未设置POST数组的大小。它们可以是0到100之间的任何输入

在保存阵列的同时,请告诉我如何访问它。我习惯于java,所以php数组对我来说是新的

编辑

在尝试了johnps post之后

我的页面看起来像这样

foreach ($_POST['name'] as $key=>$name) {
  echo "Name: $name  Age: {$_POST['age'][$key]} <br/>";
     $_SESSION['post_data'][$key] = $name;
     $_SESSION['post_data'][$key] = $_POST['age'];
    echo $key; 
}
然而,我尝试了以下方法以获得“名称位置”作为输出,但没有任何效果

echo $_SESSION['post_data']['name'];//doesnt have an output
echo $_SESSION['post_data'][$key];//out puts "Array" and nothing else
我希望输出是 名字和位置,大人。
就像foreach循环现在正在做的一样,但是从一个二维数组开始。谢谢大家。

您可以在PHP中轻松使用多维数组。您的示例不起作用的原因是它一直覆盖相同的索引

//Assuming your POST data consists of age => name pairs, you store it like this
$_SESSION['post_data'] = array();
$count = 0;
foreach ($_POST['name'] as $age => $name) {
   $_SESSION['post_data'][$count]['age']  = $age;
   $_SESSION['post_data'][$count]['name'] = $name;
   $count++;
}
要访问它,只需在其上迭代或使用键

//iterating
foreach ($_SESSION['post_data'] as $person) {
     echo "Name: {$person['name']}  Age: {$person['age']} <br/>";
}

//using the key
echo $_SESSION['post_data'][0]['age']; //print the first person's age
echo $_SESSION['post_data'][0]['name']; //print the first person's name

您可以像在PHP中一样轻松地使用多维数组。您的示例不起作用的原因是它一直覆盖相同的索引

//Assuming your POST data consists of age => name pairs, you store it like this
$_SESSION['post_data'] = array();
$count = 0;
foreach ($_POST['name'] as $age => $name) {
   $_SESSION['post_data'][$count]['age']  = $age;
   $_SESSION['post_data'][$count]['name'] = $name;
   $count++;
}
要访问它,只需在其上迭代或使用键

//iterating
foreach ($_SESSION['post_data'] as $person) {
     echo "Name: {$person['name']}  Age: {$person['age']} <br/>";
}

//using the key
echo $_SESSION['post_data'][0]['age']; //print the first person's age
echo $_SESSION['post_data'][0]['name']; //print the first person's name

您可以直接将
$\u POST['name']
存储到
$\u SESSION[“name”]
,并将其保存

$_SESSION["name"] = $_POST['name']

您可以直接将
$\u POST['name']
存储到
$\u SESSION[“name”]
,并将其保存

$_SESSION["name"] = $_POST['name']

我该如何使用相同的键向其中添加$age。所以我可以像你在“访问它”中发布的那样回忆它,但也可以访问我更新了答案的同一姓名(人)的年龄。但原理是一样的,只要你有钥匙,你就可以进入数组中的任何级别。很抱歉,这很烦人,但是我应该在foreach循环中添加这些数据吗。因为它是从帖子中粘贴的true或false?是的,您可以将它添加到循环中。与循环POST变量不同,您只需使用$age=>$nameJohnP更新我的POST来循环会话变量,以更好地概述我需要什么。非常感谢您的帮助,我将如何使用相同的密钥向其中添加$age。所以我可以像你在“访问它”中发布的那样回忆它,但也可以访问我更新了答案的同一姓名(人)的年龄。但原理是一样的,只要你有钥匙,你就可以进入数组中的任何级别。很抱歉,这很烦人,但是我应该在foreach循环中添加这些数据吗。因为它是从帖子中粘贴的true或false?是的,您可以将它添加到循环中。与循环POST变量不同,您只需使用$age=>$nameJohnP更新我的POST来循环会话变量,以更好地概述我需要什么。非常感谢你的帮助