1

ユーザーがサイトのアイテムにアクセスすると、次のコードが表示されます。

$_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]

誰でもこれを行うための簡単な方法を考えられますか?

4

2 に答える 2

2

array_slice はそのトリックを実行できるように見えます (配列の場合は「substr」):

$_SESSION['recent'] = array_slice($_SESSION['recent'],0,3)

http://php.net/manual/en/function.array-slice.php

于 2013-04-02T13:19:02.630 に答える
2

array_slice()最後の 3 つの要素だけを残すために使用できます。

$_SESSION['recent'][] = array("title"=>$page['current_item']['title'], "link"=>$_SERVER['REQUEST_URI']);
$_SESSION['recent'] = array_slice($_SESSION['recent'],-3);
于 2013-04-02T13:23:53.660 に答える