我有一个非常复杂的情况,我就是想不出一个完美的逻辑。这是我需要做的:我通过 API 获取 10 篇文章,并且我需要以正确的发布顺序显示它们。问题是有时文章会自动更改其顺序。我需要做的是,无论他们是否更改订单或他们在我页面上的订单是否保持不变。例如如果 array('itemA', 'itemB', 'itemC', 'itemD') 变成 array('itemC', 'itemA', 'itemB', 'itemD')
我仍然想按原始顺序显示,即 itemA、B、C 和 D。
我尝试了 in_array() 函数来检查文章是否已经存在,但它似乎无法正常工作。
看一看:
$post_array = array();
foreach ($Info AS $key => $post_array){
if (!in_array($Info[$key]->postId, $post_array)){
array_unshift($post_array, $Info[$key]);
echo '<h2>Added</h2>' ;
}else {
echo '<h2>not Added</h2>' ;
}
}
它总是显示添加,每次我运行它加上一个警告说
警告:array_unshift() 期望参数 1 是数组
警告:in_array() 期望参数 2 是数组
我真正想做的是,最初将所有 10 篇文章添加到 $post_array,然后在开始时仅将新/唯一文章添加到 $post_array。并显示 $post_array 中的 10 个项目。
另外,我不认为我可以通过这个实现我想要的。
请指教。