假设有一个包含多个数组的数组,如何根据它们的值对内部数组进行自然排序?
示例数组:
array (size=2)
0 =>
array (size=1)
'manager' => string 'Manager 1' (length=9)
1 =>
array (size=1)
'manager' => string 'Manager 3' (length=9)
另一个数组示例:
array (size=2)
0 =>
array (size=1)
'month' => string 'June' (length=4)
1 =>
array (size=1)
'month' => string 'January' (length=7)
我的第一个想法是只需使用natsort()
,但它需要正常的数组。下一个想法是使用array_multisort($array, SORT_NATURAL);
,但由于关联数组而无法正常工作。
那么,我该如何对内部数组使用自然排序呢?此外,在这种情况下保留数组键不重要。
编辑:
数组1的预期输出将保持不变(因为Manager 1和Manager 3已经按顺序排列):
array (size=2)
0 =>
array (size=1)
'manager' => string 'Manager 1' (length=9)
1 =>
array (size=1)
'manager' => string 'Manager 3' (length=9)
数组二的预期输出将把一月排在六月之前('自然'顺序):
// 0 and 1 keys can switch or stay the same, doesn't matter
array (size=2)
0 =>
array (size=1)
'month' => string 'January' (length=4)
1 =>
array (size=1)
'month' => string 'June' (length=7)