如何将post值创建为会话数组,将会话传递给其他页面?当我回复Array
时,我正在处理其他页面上仅显示$_SESSSION['size'];
的代码?
这里是我的两个功能:
$size = array('size');
$_POST['size'];
$_SESSION['size'] = array();
foreach ($size as $key)
{
if (isset($_POST[$key]))
{
$_SESSION['size'][$key] = $_POST[$key];
}
}
$size=$_POST['size'];
$max= count($_POST['size']);
for($i=0; $i<$max; $i++)
{
$_SESSION['size']= $_POST['size'];
}
这两项功能仅在其他页面上显示Array
答案 0 :(得分:2)
当你echo $_SESSION['size']
它会显示Array
因为它是一个数组,而不是单个值。
如果要检查值,请使用以下结构:
foreach($_SESSION['size'] as $key=>$val) {
echo $key . '=>' . $val . '<br />';
}
而不是
echo $ _SESSION ['size'];
您也可以使用:
var_dump($_SESSION['size']);
或
print_r($_SESSION['size']);
答案 1 :(得分:0)
在第一页上只存储值:
$_SESSION['size'] = $_POST['size'];
现在,如果您的POST仅包含size
的单个值,则只需使用:
echo $_POST['size'];
// or this:
some_function($_POST['size']);
但是,如果您的POST确实有size
的值数组(这是可能的),那么您的会话中也会有一个数组。然后你需要一个简单的循环:
foreach ($_SESSION['size'] as $size) {
echo $size;
// or this:
some_function($size);
}
处理这两种情况的组合代码:
if (is_array($_SESSION['size'])) {
foreach ($_SESSION['size'] as $size) {
echo $size;
// or this:
some_function($size);
}
} else {
echo $_SESSION['size'];
// or this:
some_function($_SESSION['size']);
}