Php 数组排序服装尺寸(XXS XS S M L XL XXL)和动态数组上的数字

标签 php arrays sorting

我有一个类似这样的数组:

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/

相关文章:

java - JTextfield数组,检索名称和文本

java - 从 txt 文件读入单个数组 - Java

java - 按值对 Map<Key, Value> 进行排序

javascript - 使用 JS 或 PHP 在另一个网站上创建帐户

php - 使用带有重音文件名的 md5_file() 函数

javascript - 根据条件过滤嵌套数组

python - 使用 Pandas 对数据框进行排序。保持列完好无损

php - 使用 imagecopyresampled 裁剪图像的中心正方形

php - 计算PHP中2个日期之间的小时数

用字符串进行计数排序[核心已转储]