当用户访问我网站上的某个项目时,我会收到以下代码:
$_SESSION['recent'][] = array("title"=>$page['current_item']['title'], "link"=>$_SERVER['REQUEST_URI']);
将项目及其URI的记录存储在会话变量中。
但是,我只想存储最近访问过的3个项目。
有没有办法使用array[]
语法执行此操作?我希望数组的最大长度为3,如果大于3,则旧array[0]
将消失,并由array[1]
替换,array[1]
将替换为{{ 1}}等。
有人能想出一个很好的简短方法吗?
答案 0 :(得分:2)
array_slice看起来可以做到这一点(数组的'substr'):
$_SESSION['recent'] = array_slice($_SESSION['recent'],0,3)
答案 1 :(得分:2)
您可以使用array_slice()
只保留最后3个元素:
$_SESSION['recent'][] = array("title"=>$page['current_item']['title'], "link"=>$_SERVER['REQUEST_URI']);
$_SESSION['recent'] = array_slice($_SESSION['recent'],-3);