会话中的数组增量

时间:2014-02-06 02:31:41

标签: php arrays foreach

阵列

$item= "stackoverflow";
$price = "30.00";
$total += ($sum * $price);

$cs1_array = array();
$cs1_array[] = array(
    'item'=>array('item'=>$item, 'price'=>$price, 'quantity' => $sum),
    'total' => $total
);
 $_SESSION['session_inputs'] = $cs1_array;

其他页面中的Foreach循环

$cs1_array = $_SESSION['session_inputs'];
echo "<table>";
foreach ($cs1_array as $item){
echo "<tr>";
foreach ($item as $item2){
  echo "<td>{$item2['item']}</td><td>{$item2['price']}</td><td>{$item2['quantity']}</td>";
}

echo "<td>{$item['total']}</td>";
echo "</tr>";
}
echo "</table>";

在用于显示数组中项目的代码之上,但它只显示1行输出,如下所示

  

stackoverflow 30.00 2 60

我想要的是每当我提交html表单时,它会在数组中添加新的行新值,如果我提交3次,输出将是这样的

  

stackoverflow 30.00 2 60

     

stackoverflow 30.00 2 60

     

stackoverflow 30.00 2 60

1 个答案:

答案 0 :(得分:1)

你每次都要覆盖$_SESSION['session_inputs']。只需将其作为一个数组并附加到它:

$cs1_array = array(
    'item'=>array('item'=>$item, 'price'=>$price, 'quantity' => $sum),
    'total' => $total
);
$_SESSION['session_inputs'][] = $cs1_array;