例如我有Session :: instance() - > get('orders')这是一些数组的数组:
$ first = array('id'= 1,'name'=>'first','price'=> 100); $ second = array('id'=> 2,'name'=>'second','price'=> 200); $ _SESSION ['orders'] =数组($ first,$ second);
但如果我使用这个
Session :: instance() - > set('orders',array(array('id'=> 3,'name'=>'third','price'=> 300))) ;
这将删除第一个订单(id 1,id 2)。 那么我怎样才能将ERASE数据数组添加到名为'orders'的会话数组中? array_push还是别的什么?
答案 0 :(得分:3)
编辑,没看到你的评论,这很完美。
自我解释。
$session = Session::instance();
// Find existing data
$data = $session->get('orders');
// Add new array
$data[] = array('id' => 3, 'name' => 'new data', 'price' => 300);
// Resave it
$session->set('orders', $data);
答案 1 :(得分:0)
至于我,我认为最好的方式:
public function before() {
...
$this->variable = Session::instance()->get('key', array());
...
}
一些代码......
public function after() {
...
Session::instance()->set('key', $this->variable, Date::MINUTE);
...
}