我有一个代码,每次访问页面时都会向数组添加一个数字.数字存储在cookie中,稍后检索.
我想只保留数组中最近的5个数字.
如果阵列已满(5个项目)且必须添加新号码,则必须删除最旧的号码,并且必须保留最新的号码
这就是我所拥有的:
$lastviewedarticles = array();
if (isset($_COOKIE["viewed_articles"]) ) {
$lastviewedarticles = unserialize($_COOKIE["viewed_articles"]);
}
if (!in_array($articleid, $lastviewedarticles)){
$lastviewedarticles[] = $articleid;
}
setcookie("viewed_articles", serialize($lastviewedarticles));
Run Code Online (Sandbox Code Playgroud)
Nir*_*ara 170
array_slice返回数组的切片
array_slice($array, 0, 5) // return the first five elements
Run Code Online (Sandbox Code Playgroud)
使用array_splice和array_unique来获取5个唯一的数组值
array_splice(array_unique($lastviewedarticles), 0, 5);
Run Code Online (Sandbox Code Playgroud)
首先,我认为您需要获取数组length,然后如果length>或等于5,则删除第一个元素,然后将元素添加到数组的末尾。
if (!in_array($articleid, $lastviewedarticles)){
$count = count($lastviewedarticles);
if($count>=5)
array_shift($lastviewedarticles);
$lastviewedarticles[] = $articleid;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57434 次 |
| 最近记录: |