将关联数组附加到另​​一个数组

时间:2014-12-30 07:51:07

标签: php codeigniter multidimensional-array

$data=array();
$data[]= array('product_id'=>$this->input->post('product_id'),
                'quantity'=>$this->input->post('quantity'),
                'unit'=>$this->input->post('unit'),
                'unit_rate'=>$this->input->post('unit_rate'));

                   $this->session->set_userdata('data',$data);
               $post_array['cart'][]=$this->session->userdata('data');

我想将$ data附加到$ post_array。我如何使用codeigniter ??

我正在使用此代码创建购物车,我希望将客户添加的每个产品存储到会话中。并希望在单独的表格中显示用户添加的所有产品。

1 个答案:

答案 0 :(得分:2)

您只需将数据简单地分配到购物车阵列即可。

$post_array['cart'][] = $data;

稍后,如果你想循环使用它,你可以使用它:

foreach ($post_array['cart'] as $item) {
    echo 'Id of product: ' . $item['product_id']."<br />";
    echo 'Quantity: ' . $item['quantity']."<br />";
    //and so on...
}

但我想,你想把它添加到会话中,而不是帖子。

修改

基于OP评论。您始终会覆盖$ _SESSION [&#39;数据&#39;]变量。 所以将它添加为新数组:

//Set the data
$data[] = array('product_id' => $this->input->post('product_id'),
    'quantity' => $this->input->post('quantity'),
    'unit' => $this->input->post('unit'),
    'unit_rate' => $this->input->post('unit_rate'));
//Get the cart
$cart = $this->session->userdata('data');
//Add data to this temporary variable
$cart[] = $data;
//Set back the data
$this->session->set_userdata('data', $cart);

//Later, when you want to iterate through the cart:
foreach ($this->session->userdata('data') as $item) {
    echo 'Id of product: ' . $item['product_id'] . "<br />";
    echo 'Quantity: ' . $item['quantity'] . "<br />";
    //and so on...
}