PHP中的数组复制

PHP中的数组复制,php,Php,我正试图将我的帖子数组保存到会话数组中,这样我就可以在网站的其他页面中使用它 当我这样做的时候 $_SESSION = $_POST; 它不起作用 另外,下面的代码也给出了一个错误,并且没有复制它 foreach($_POST as $element){ $_SESSION[] = $element; } $\u会话无法处理数字键;它必须是关联数组。也就是说,如果你这样做了 $_SESSION[] = "foo"; 与您在foreach循环中所做的一样,它将像在任何其他数组中一样创建一

我正试图将我的帖子数组保存到会话数组中,这样我就可以在网站的其他页面中使用它 当我这样做的时候

$_SESSION = $_POST;
它不起作用

另外,下面的代码也给出了一个错误,并且没有复制它

foreach($_POST as $element){
  $_SESSION[] = $element;
}

$\u会话
无法处理数字键;它必须是关联数组。也就是说,如果你这样做了

$_SESSION[] = "foo";
与您在foreach循环中所做的一样,它将像在任何其他数组中一样创建一个新的数字键(例如,
$\u SESSION[0]==“foo”
),但PHP在保存会话时将跳过该键。您会收到“通知”级别的警告,如“跳过数字键0”。因此,下次读取
$\u会话
数组时,它将不包含任何数字键

因此必须使用字符串索引,如:

$_SESSION['POST'] = $_POST;
这应该行得通


您还应该能够执行
$\u SESSION=$\u POST
并覆盖整个
$\u SESSION
数组。我说不出为什么这样不行。但我也不明白你为什么要这么做。如果您想将
$\u SESSION
用于其他任何内容(如实际会话数据),则不能让代码随意地用post数据覆盖整个阵列。最好只使用上面这样的字符串索引来存储post数据。

$\u SESSION
无法处理数字键;它必须是关联数组。也就是说,如果你这样做了

$_SESSION[] = "foo";
与您在foreach循环中所做的一样,它将像在任何其他数组中一样创建一个新的数字键(例如,
$\u SESSION[0]==“foo”
),但PHP在保存会话时将跳过该键。您会收到“通知”级别的警告,如“跳过数字键0”。因此,下次读取
$\u会话
数组时,它将不包含任何数字键

因此必须使用字符串索引,如:

$_SESSION['POST'] = $_POST;
这应该行得通


您还应该能够执行
$\u SESSION=$\u POST
并覆盖整个
$\u SESSION
数组。我说不出为什么这样不行。但我也不明白你为什么要这么做。如果您想将
$\u SESSION
用于其他任何内容(如实际会话数据),则不能让代码随意地用post数据覆盖整个阵列。最好只使用如上所述的字符串索引来存储post数据。

那么我不能直接将值存储在$\u会话数组中吗?在本例中,我们存储的是一个数组。告诉我们可以使用$array[]=value语法来复制值。所以我不能直接将值存储在$\u会话数组中吗?在本例中,我们存储的是一个数组。说明我们可以使用$array[]=value语法来复制值。