我在 cakephp 2.2.3 中有这个多维 assoc $modules 数组:
大批(
'type1' => 数组(
(int) 0 => 数组(
'名称' => 'name16',
'类型' => '1',
'类别' => '类别C',
'区域' => '区域1'
),
(int) 1 => 数组(
'名称' => 'name17',
'类型' => '1',
'类别' => '类别B',
'区域' => '区域1'
),
(int) 2 => 数组(
'名字' => 'name18',
'类型' => '1',
'类别' => '类别A',
'区域' => '区域3'
),
(int) 3 => 数组(
'名字' => 'name19',
'类型' => '1',
'类别' => '类别C',
'区域' => '区域3'
),
(int) 4 => 数组(
'name' => 'name22',
'类型' => '1',
'类别' => '类别A',
'区域' => '区域2'
)
),
'type2' => 数组(
(int) 0 => 数组(
'名称' => '名称1',
'类型' => '2',
'类别' => '类别B',
'区域' => '区域2'
),
(int) 1 => 数组(
'名称' => '名称2',
'类型' => '2',
'类别' => '类别B',
'区域' => '区域2'
),
(int) 2 => 数组(
'名称' => '名称3',
'类型' => '2',
'类别' => '类别A',
'区域' => '区域1'
),
(int) 3 => 数组(
'名称' => '名称4',
'类型' => '2',
'类别' => '类别C',
'区域' => '区域3'
),
(int) 4 => 数组(
'名称' => '名称5',
'类型' => '2',
'类别' => '类别A',
'区域' => '区域3'
)
)
)
我想重新排列它
大批(
'zone1' => 数组(
'type1' => 数组(
(int) 0 => 数组(
'名称' => 'name17',
'类型' => '1',
'类别' => '类别B'
),
(int) 1 => 数组(
'名称' => 'name16',
'类型' => '1',
'类别' => '类别C'
)
),
'type2' => 数组(
(int) 0 => 数组(
'名称' => '名称3',
'类型' => '2',
'类别' => '类别A'
)
)
),
'zone2' => 数组(
'type1' => 数组(
(int) 0 => 数组(
'name' => 'name22',
'类型' => '1',
'类别' => '类别A'
)
),
'type2' => 数组(
(int) 0 => 数组(
'名称' => '名称1',
'类型' => '2',
'类别' => '类别B'
),
(int) 1 => 数组(
'名称' => '名称2',
'类型' => '2',
'类别' => '类别B'
)
)
),
'zone3' => 数组(
'type1' => 数组(
(int) 0 => 数组(
'名字' => 'name18',
'类型' => '1',
'类别' => '类别A'
),
(int) 0 => 数组(
'名字' => 'name19',
'类型' => '1',
'类别' => '类别C'
)
),
'type2' => 数组(
(int) 0 => 数组(
'名称' => '名称5',
'类型' => '2',
'类别' => '类别A'
),
(int) 1 => 数组(
'名称' => '名称4',
'类型' => '2',
'类别' => '类别C'
)
)
)
)
其中“类别”应在每个父“类型”中按字母顺序排序
我试过了
$modules = Hash::combine($modules, '{n}', '{n}.{n}', '{s}.{s}.{n}.zone');
但没有成功。我想我没有像我应该使用的那样使用 Hash::combine ......
谢谢,Marius