10/10/2018, 11:39 
               
            Cho e hỏi thuật toán để lưu các sản phẩm đã xem
               
					Em đang mắc ở chỗ này các bác ạ. Mỗi lần vào trang chi tiết xem sản phẩm thì sẽ dùng cookie để lưu lại thông tin sản phẩm đó. Khi lưu được 8 sản phẩm rồi thì nếu sang sản phẩm thứ 9 thì sản phẩm thứ 1 sẽ đc xóa đi vào thay vào đó là sản phẩm thứ 9. Bác nào pro thuật toán vào giúp e với. E xin cảm ơn các bác
				            
            
         
            Bài liên quan
         
               
            




if (count($product)==8){
unset $product['1'];
foreach ($product as $key=>$value){
$product[] = $value;
}
}
ví dụ vậy,sau khi xóa sản phẩm có key là 1 trong mảng thì bạn gán lại 1 mảng product mới,vậy thôi
và đây là code của mình, share cho bạn nào cần nhé. code này viết trên FW CI nhé
private function _get_viewed_product($product_id = 0) { $flag = FALSE; if($this->phpsession->get('viewed_product') == '') $this->phpsession->save('viewed_product', $product_id); else { $str = $product_id; $viewed_array = explode(':', $this->phpsession->get('viewed_product')); foreach($viewed_array as $a) { if($str == $a) {$flag = FALSE;break;} else {$flag = TRUE;} } } if($flag) $this->phpsession->save('viewed_product',$this->phpsession->get('viewed_product') . ':' . $str); $product_ids = explode(':', $this->phpsession->get('viewed_product')); if(count($product_ids) > 4) { array_shift($product_ids); $b = ''; foreach($product_ids as $id) { if($b == '') $b .= $id; else $b .= ':' . $id; } $this->phpsession->save('viewed_product',$b); } return explode(':', $this->phpsession->get('viewed_product')) ; }