我有一个数组:$ types of:
Array
(
[0] => Array
(
[id] => 1
[cat] => Main
[type] => name0 )
[1] => Array
(
[id] => 2
[cat] => Main
[type] => Name1 )
[2] => Array
(
[id] => 3
[cat] => Main
[type] => Name2 )
[3] => Array
(
[id] => 4
[cat] => Main
[type] => Name3 )
[4] => Array
(
[id] => 5
[cat] => Secondary
[type] => Name4 )
[5] => Array
(
[id] => 6
[cat] => Secondary
[type] => Name5 )
[6] => Array
(
[id] => 7
[cat] => Secondary
[type] => Name6 )
[7] => Array
(
[id] => 8
[cat] => Other
[type] => Name7
)
[8] => Array
(
[id] => 9
[cat] => Other
[type] => Name8
)
[9] => Array
(
[id] => 10
[cat] => Other
[type] => Name9
)
[10] => Array
(
[id] => 11
[cat] => Other
[type] => name10
)
)
我想将它重新构建为多向阵列。但是由猫组合在一起
所以他们是主要,次要和其他*那些做或可能从数据库更改。随着时间的推移越多,因此建议使用$types['cat']
。
我还有另外一个。有cat1 / cat2我需要做同样的事情但是在我得到这个之后,我希望我可以解决这个问题。
我在这里看了一下,在google上。这里有一些类似的例子,但我无法使它们中的任何一个正常工作。据我所知,我认为最好的途径是使用foreach()
然后构建一个新数组?
答案 0 :(得分:0)
这样的东西?
<?
$all = array(
array('id'=>1, 'cat'=>'Main','type'=>'Name0'),
array('id'=>2, 'cat'=>'Main','type'=>'Name1'),
array('id'=>3, 'cat'=>'Main','type'=>'Name3'),
array('id'=>4, 'cat'=>'Sec','type'=>'Name4'),
array('id'=>5, 'cat'=>'Sec','type'=>'Name5'),
array('id'=>6, 'cat'=>'Sec','type'=>'Name6'),
);
$result = array();
foreach($all as $array){
$result[$array['cat']][] = array('id'=>$array['id'],'type'=>$array['type']);
}
die(print_r($result));