开发者

Session::instance() and push array data to session array

for example i have Session::instance()->get('orders') which is an array of some arrays:

$first = array('id' = 1, 'name' => 'first', 'price' => 100); $second = array('id' => 2, 'name' => 'second', 'price' => 200); $_SESSION['orders'] = array($first, $second);

but开发者_StackOverflow if i use this

Session::instance()->set('orders', array(array('id' => 3, 'name' => 'third', 'price' => 300)));

this will erase first orders (id 1, id 2). so how can i ADD but not ERASE data arrays to session array named 'orders'? array_push or something else?


Edit, didn't see your comment, it's perfect.

Self explanatory.

$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);


As for me, I think that best way:

public function before() {
...
$this->variable = Session::instance()->get('key', array());
...
}

some code...

public function after() {
...
Session::instance()->set('key', $this->variable, Date::MINUTE);
...
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜