Php 如何在一个数组中保持10个值的最大计数?
用户每次访问页面时,页面url都将存储到数组会话中。我只希望数组中有10个元素。因此,10个元素将保存10个最新访问的页面URL。这是我的密码:Php 如何在一个数组中保持10个值的最大计数?,php,arrays,Php,Arrays,用户每次访问页面时,页面url都将存储到数组会话中。我只希望数组中有10个元素。因此,10个元素将保存10个最新访问的页面URL。这是我的密码: if (empty($_SESSION['page'])) { $_SESSION['page'] = array_fill(0,10,''); } function trackPage($url) { array_unshift($_SESSION['page'],$url); array_pop($_SESSION
if (empty($_SESSION['page'])) {
$_SESSION['page'] = array_fill(0,10,'');
}
function trackPage($url) {
array_unshift($_SESSION['page'],$url);
array_pop($_SESSION['page']);
}
trackPage($_SERVER['REQUEST_URI']);
并告诉mw如何编写您的代码唯一缺少的是会话启动,即:
<?php
session_start();
if (empty($_SESSION['page'])) {
$_SESSION['page'] = array_fill(0,10,'');
}
function trackPage($url) {
array_unshift($_SESSION['page'],$url);
array_pop($_SESSION['page']);
}
trackPage($_SERVER['REQUEST_URI']);
var_dump($_SESSION['page']);
?>
我只添加了var\u dump来监视会话信息。我添加了ifarray\u search$url,$\u session['page']==false此代码以避免多次重复条目
session_start();
if (empty($_SESSION['page'])) {
$_SESSION['page'] = array_fill(0,10,'');
}
function trackPage($url) {
if(array_search($url, $_SESSION['page'])=== false){
array_unshift($_SESSION['page'],$url);
array_pop($_SESSION['page']);
}
}
trackPage($_SERVER['REQUEST_URI']);
var_dump($_SESSION['page']);