当用户访问我网站上的一个项目时,我有这样的代码:
$_SESSION['recent'][] = array("title"=>$page['current_item']['title'], "link"=>$_SERVER['REQUEST_URI']);
在会话变量中存储项及其URI的记录。
但是,我只想存储最近访问的3个项目。
是否有一种方法可以使用array[]
语法来做到这一点?我希望数组的最大长度为3,如果它大于3,旧的array[0]
将消失,并由array[1]
取代,array[1]
将由array[2]
取代,等等。
有谁能想出一个简短的方法来做这件事吗?
您可以使用array_slice()
只留下最后3个元素:
$_SESSION['recent'][] = array("title"=>$page['current_item']['title'], "link"=>$_SERVER['REQUEST_URI']);
$_SESSION['recent'] = array_slice($_SESSION['recent'],-3);
array_slice看起来可以做到这一点(数组的'substr'):
$_SESSION['recent'] = array_slice($_SESSION['recent'],0,3)
http://php.net/manual/en/function.array-slice.php