我如何排序基於另一個數組的數組? 我說的是價值觀,而不是關鍵。我發現很多關於如何對鍵進行排序的問題,但沒有涉及到這些值。排序PHP數組的值進行比較,另一個數組
可以想象我有此數組:
$sizes = array("L", "XXXL", "M", "S");
我怎樣可以重新排列這些是這樣的:
$newsizes = array("S", "M", "L", "XXXL");
基於這樣一個固定的人的邏輯陣列上:
$sizeincrement = array("XS", "S", "M", "L", "XL", "XXL", "XXXL");
並且考慮到不在sizeincrement數組中的元素應該添加到最後。
我認爲這將存在一個現成的排序功能,但它似乎也並非如此:PHP SORTING
array_intersect()會做你需要在不訴諸自定義函數或usort排序。參見[我的回答(http://stackoverflow.com/questions/21004179/sort-php-array-by-value-compared-to-another-array/21004431#21004431)。 –
@DigitalChris雖然交叉,差異,然後合併數組是真正比usort更有效的方法,這是值得商榷的。 =) – jszobody
@jszobody不,我想你錯過了這一點。我也回答了他的第二部分:「末尾沒有添加大小遞增列表中的元素。」單線array_intersect完成了其他答案。 –