我有$ _POST所有数据的添加到购物车形式,需要存储到二维数组并分配给会话:
例如 print_r($ _ POST)是:
Array("prod"=>"ZIU%3D","price"=>"68.00","alt-variation-1"=>"Red","alt-variation-2"=>"L","qty"=>"1")
循环每个$ _POST:
foreach($_POST as $field => $value){
$f[] = $field;
$v[] = $value;
}
我正在寻找一种方法将$ f和$ v分配到一个数组中,例如:
$new_product = array(array($f => $v));
并存储在如下的会话中:
$_SESSION['products'] = $new_product;
或其他替代方式?
答案 0 :(得分:1)
$_SESSION['products'][] = $_POST;
会将整个post数组附加到会话产品数组,但您需要验证用户发布的数据。
更好的方法是:
$data = $_POST;
// sanitise and validate $data here
$_SESSION['products'][] = $data;
@HamzaZafeer的一个例子:
foreach($_SESSION['products'] as $product){
echo $product['price'];
}
答案 1 :(得分:-1)
您可以将数组编码为JSON
并将其存储在session
中,其中包含:
$myJson = json_encode($_POST);
$_SESSION['myJson'] = serialize($myJson);