我有一个类似这样的数组:
Array ( [0] => XL [1] => M [2] => L [3] => XL [4] => S [5] => XXL)
但是我想像这样对我的数组进行排序:
S - M - L - XL - XXL
我知道我可以用 usort() 做到这一点,但是,我得到了一些其他值,比如数字:
Array ( [0] => 14 [1] => 37 [2] => 38 [3] => 39 [4] => 40 [5] => 44 [6] => 36 [7] => 28 )
我的意思是这是一个动态数组...
我正在使用那个 asort();用于对这些值进行排序。
有什么功能/方法可以做到这一点吗?
最佳答案
function cmp($a, $b)
{
$sizes = array(
"XXS" => 0,
"XS" => 1,
"S" => 2,
"M" => 3,
"L" => 4,
"XL" => 5,
"XXL" => 6
);
$asize = $sizes[$a];
$bsize = $sizes[$b];
if ($asize == $bsize) {
return 0;
}
return ($asize > $bsize) ? 1 : -1;
}
usort($your_array, "cmp");
关于Php 数组排序服装尺寸(XXS XS S M L XL XXL)和动态数组上的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7647982/