Php 具有键/值对的自定义排序数组
以下数组到达:Php 具有键/值对的自定义排序数组,php,Php,以下数组到达: Array ( [66-507cddcd16d9786abafccfa78b19acf8] => XL [64-507cddcd16d9786abafccfa78b19acf8] => medium [65-507cddcd16d9786abafccfa78b19acf8] => large [63-507cddcd16d9786abafccfa78b19acf8] => small ) 如何按大小升序排列数组的值,以保持
Array
(
[66-507cddcd16d9786abafccfa78b19acf8] => XL
[64-507cddcd16d9786abafccfa78b19acf8] => medium
[65-507cddcd16d9786abafccfa78b19acf8] => large
[63-507cddcd16d9786abafccfa78b19acf8] => small
)
如何按大小升序排列数组的值,以保持键/值关系?数组值可以是以下部分或全部值
Small
XXL
Medium
Large
XL
如果您想按字母顺序对值排序,这就是它的用途。您可以使用asort。我在php网站上复制了这个fomr asort-对数组排序并维护索引关联
如果您的排序需要比以前建议的更复杂,请编写一个函数插入。您需要使用
uasort
:
function sizeSorter($a, $b) {
// customize as needed
$comp = array_flip(array('xxxs', 'xxs', 'xs', 's', 'small', 'm', 'medium', 'l', 'large', 'xl', 'xxl', 'xxxl'));
return $comp[strtolower($a)] - $comp[strtolower($b)];
}
uasort($array, 'sizeSorter');
实例:
请看codaddict对我对你另一个问题的回答的评论。事实上,你最好编辑你的另一个问题来包含这个,这样我也可以相应地调整我的答案。