我正在使用PHP,我試圖通過$_SESSION
數組保留最後10個帖子ID在WordPress中的數組。我知道我可以添加最新帖子ID如下:PHP - 如何保持數組中的最後十個東西?
$_SESSION['recently_viewed_posts'][] = $post->ID;
而且同樣我大概可以遵循這樣的事情該命令刪除那些大於10:
if(sizeof($_SESSION['recently_viewed_posts']) > 10)
{
array_shift($_SESSION['recently_viewed_posts']);
}
但是這不會如果用戶重新加載同一職位幾次很好地工作,你可能最終的東西,如:
Array
(
[recently_viewed_posts] => Array
(
[0] => 456
[1] => 456
)
)
期望的行爲:
點- 最後的10後的ID將保持在一個陣列
- 如果訪問後已經在數組中,它會移動到陣列
- 如果數組的大小的開始或結束10個元素,並且訪問了新的第11個帖子,最舊的帖子ID將被移除並添加新的帖子ID
我不太在意數組的哪一側(開始或結束)新帖子是開着的,只要它是一致的。我並不在乎陣列鍵是什麼。
完成此操作的最佳方法是什麼?
我試着尋找類似的問題,但沒有拿出任何有用的東西,所以我很抱歉,如果這是一個騙局。
我只是在想類似的:) +1 – diEcho 2012-01-17 05:41:48