2012-05-09 1 views
0

ユーザーがページを訪問するたびに、ページのURLが配列セッションに格納されます。私はアレイ内に10個の要素しか持たない。そのため、10個の要素が最新の10個のページURLを保存します。ここに私のコードです:配列に最大10個の値を保持する方法はありますか?

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']); 

とも

答えて

0

を書く方法MW言うあなたのコードが欠落している唯一のことは、すなわち、()のsession_startさ:

<?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_dumpを追加しましたセッション情報を監視する。

0

(array_search($のURL、$ _SESSION [ 'ページ'])=== 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']); 
を追加しました
関連する問題