我想按以下順序對陣列進行排序:
$sorted_array = ["diamond", "platinum", "gold", "silver", "bronze", "standard", "branding"];
原始陣列可能以不同的順序出現,如下所示:
$data = ["platinum", "gold", "silver", "bronze", "standard", "branding", "diamond"];
但我希望總是像上面的 $sorted_array 值。如果 $data 中不存在任何值,那么它將占據 other 的位置。例如:如果鉆石不在陣列中,那么第一個位置將采用鉑金。
uj5u.com熱心網友回復:
我會以正確的順序使用包含所有值的陣列,然后過濾掉不在$data陣列中的元素:
$sortOrder = [ 'diamond', 'platinum', 'gold', 'silver', 'bronze', 'standard', 'branding' ];
$data = [ 'platinum', 'gold', 'silver', 'bronze', 'standard', 'branding', 'diamond' ];
$result = array_filter($sortOrder, fn($value) => in_array($value, $data));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/437144.html
