【发布时间】:2015-04-04 06:00:58
【问题描述】:
给定一个数组数组,我如何根据内部数组的值自然排序?
示例数组:
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)
数组 2 的预期输出将 1 月置于 6 月之前(“自然”顺序):
// 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)
【问题讨论】:
-
您要对每个内部数组进行排序吗?例如,您的第二个示例的预期输出是什么?
-
添加了预期的输出。