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];
});