0
我试图通过其中一个值的部分(子串)对数组进行排序。显示的大部分示例只是按价值排序。PHP按字母数字子串值排序多维数组值
我需要按名称的最后部分进行排序,所以'4/01.02'就是'02'。 '01'将被排序gainst'02'等。
我设法通过在值检查中添加爆炸,但它不按正确的顺序排序数字和字母。
这些数字似乎是正确的,但是当它打到字母时,它按奇数顺序排列。
- 我怎样才能得到结束字母按需要排序?
- 如何在数字后移动以字母开头的值?
结果:LG1, 01, 02C, 02B, 02D, 02A, 03...
。
DESIRED:01, 02A, 02B, 02C, 02D, 03, LG1...
。
示例阵列
Array
(
[0] => Array
(
[room_id] => 4-01-1
[name] => 4/01.02A
[type] => office
)
[1] => Array
(
[room_id] => 4-01-2
[name] => 4/01.01
[type] => office
)
[2] => Array
(
[room_id] => 4-01-3
[name] => 4/01.03
[type] => office
)
[3] => Array
(
[room_id] => 4-01-4
[name] => 4/01.02B
[type] => office
)
);
PHP
uasort($rooms, function($a, $b)
{
return explode('.', $a['name'])[1] - explode('.', $b['name'])[1];
});