/ 开始更新 /
如果我针对单个数组数组而不是数组数组数组,则以下解决方案将起作用。
这只是关联数组的一部分,每个分组的部分都需要排序。请参阅更新的数组。
我尝试了以下方法,但它似乎没有击中子数组:
function natorder($a, $b){
return strnatcmp( $a['name'], $b['name'] );
}
usort($array, 'natorder');
/ 更新结束 /
尝试变体usort,sort以及以下功能:
function sortNames($a, $b){
return $a['name'] - $b['name'];
}
我无法对数组进行排序:
[abc-abc] => Array
(
[0] => Array
(
[name] => abc-abc-34
[qty] => 4
[sub_qty] => 4
[area] => G11
)
[1] => Array
(
[name] => abc-abc-45
[qty] => 145
[sub_qty] => 146
[area] => G11
)
[2] => Array
(
[name] => abc-abc-67
[qty] => 215
[sub_qty] => 100,
116
[area] => T,
G12
)
[3] => Array
(
[name] => abc-abc-56
[qty] => 0
)
)
[def-def] => Array
(
[0] => Array
(
[name] => def-def-34
[qty] => 4
[sub_qty] => 4
[area] => G11
)
[1] => Array
(
[name] => def-def-45
[qty] => 145
[sub_qty] => 146
[area] => G11
)
[2] => Array
(
[name] => def-def-56
[qty] => 0
)
)
到以下:
[abc-abc] => Array
(
[0] => Array
(
[name] => abc-abc-34
[qty] => 4
[sub_qty] => 4
[area] => G11
)
[1] => Array
(
[name] => abc-abc-45
[qty] => 145
[sub_qty] => 146
[area] => G11
)
[2] => Array
(
[name] => abc-abc-56
[qty] => 0
)
[3] => Array
(
[name] => abc-abc-67
[qty] => 215
[sub_qty] => 100,
116
[area] => T,
G12
)
)
[def-def] => Array
(
[0] => Array
(
[name] => def-def-34
[qty] => 4
[sub_qty] => 4
[area] => G11
)
[1] => Array
(
[name] => def-def-45
[qty] => 145
[sub_qty] => 146
[area] => G11
)
[2] => Array
(
[name] => def-def-56
[qty] => 0
)
)
我是否需要考虑不存在的其他密钥abc-abc-56?我应该使用其他工具或功能吗?
该名称的格式始终为 3 个字母、一个破折号、后跟 3 个字母,但之后会随其他字符和数字而变化。所以它可能是:
abc-abc-1、abc-abc1、abc-abc.1 或 abc-abc_1
但我最关心的是第一个模式是否正确排序。
非常感谢您的评论!