【发布时间】:2021-05-10 08:04:58
【问题描述】:
我有这个数组:
$po = array (
5 => '8',
6 => '10',
7 => '12',
8 => '41',
12 => '42',
9 => '43',
10 => '44',
11 => '45',
1 => 'L',
0 => 'M',
4 => 'S',
2 => 'XL',
3 => 'XXL',
13 => 'XXS'
)
我需要这样排序:
- 所有数字第一个 asc
- 此顺序的所有信件:
$order = ['XXS','XS','S','M','L','XL','XXL'];
到目前为止,我的这段代码取自互联网示例:
$sort_first = array('XXS','XS','S','M','L','XL','XXL');
usort($poval, function ($a, $b) use ($sort_first) {
$posA = array_search($a, $sort_first);
$posB = array_search($b, $sort_first);
return $posA - $posB;
});
但是数值不行..这是重新排序后的导出:
$po = array (
0 => '8',
1 => '45',
2 => 'XXS',
3 => '43',
4 => '44',
5 => '42',
6 => '10',
7 => '12',
8 => '41',
9 => 'S',
10 => 'M',
11 => 'L',
12 => 'XL',
13 => 'XXL'
)
我该怎么做? 感谢您的宝贵时间
【问题讨论】:
-
请发布您已有的代码以及您可能遇到的任何错误。一个有效的 PHP 数组也会有所帮助
-
未来提示:分享由
var_export生成的转储,因为它允许我们简单地将其复制并粘贴到编辑器中以重新创建您的变量。 -
#El_Vanja 谢谢你的提示,我做了你建议的更正