我有一個id數組,我想將這些id過濾到最后5 個和唯一的 ids。$recently_viewed_ids array:16 [▼ 0 => 1 1 => 2 2 => 1 3 => 2 4 => 8 5 => 7 6 => 6 7 => 6 8 => 6 9 => 5 10 => 8 11 => 4 12 => 1 13 => 1 14 => 1 15 => 1 ]這是我的代碼,它很混亂,因為我得到了 85672$items = array_slice(array_unique(array_reverse($recently_viewed_ids)), -5);我期待的輸出14856
3 回答

青春有我
TA貢獻1784條經驗 獲得超8個贊
您需要使用數組函數的下一個組合:
array_slice( // get first 5 values
array_unique( // get only unique values
array_reverse($arr) //reverse array for get last values
)
,0,5);

一只名叫tom的貓
TA貢獻1906條經驗 獲得超3個贊
在 Laravel 中,我相信你可以將正確答案重寫為:
return collect($arr) ->reverse() ->unique() ->slice(0, 5) ->all();

ITMISS
TA貢獻1871條經驗 獲得超8個贊
嘗試這個 :
$items = array_slice(array_unique(array_reverse($recently_viewed_ids)), 5);
- 3 回答
- 0 關注
- 182 瀏覽
添加回答
舉報
0/150
提交
取消