Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在一个数组中保持10个值的最大计数?_Php_Arrays - Fatal编程技术网

Php 如何在一个数组中保持10个值的最大计数?

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

用户每次访问页面时,页面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['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']);