2013-03-22 51 views
-1

我有一個數組:分組元素數組取決於密鑰檢查?

Array 
    (
    [0] => Array 
     (
      [id] => 0 
      [type] => type1 
      [aa] => 1.00 
      [bb] => 0.00 
      [cc] => 1.00 
      [group] => new 
     ), 
    [1] => Array 
     (
      [id] => 1 
      [type] => type2 
      [aa] => 1.00 
      [bb] => 0.00 
      [cc] => 1.00 
      [group] => new 
     ), 
    [2] => Array 
     (
      [id] => 4521081 
      [type] => type3 
      [aa] => 1.00 
      [bb] => 0.00 
      [cc] => 1.00 
      [group] => old 
     ) 
); 

我怎麼能基的上面排列基部關鍵checking.result看一些這樣的事:

Array(
    'new'=>array(
     'type1'=>array(
        [id] => 0 
        [aa] => 1.00 
        [bb] => 0.00 
        [cc] => 1.00 
        ), 
     'type2'=>array(
         [aa] => 1.00 
         [bb] => 0.00 
         [cc] => 1.00 
         ) 
    ), 
    'old'=>array(
      'type3'=>array(
         [aa] => 1.00 
         [bb] => 0.00 
         [cc] => 1.00 
         ) 
      ) 
); 
+0

你嘗試過使用'foreach'嗎? – Voitcus 2013-03-22 06:47:22

回答

1

試試這個:

$res = array(); 
foreach($your_array as $val){ 
    $res[$val['group']][$val['type']]['id'] = $val['id']; 
    $res[$val['group']][$val['type']]['aa'] = $val['aa']; 
    $res[$val['group']][$val['type']]['bb'] = $val['bb']; 
    $res[$val['group']][$val['type']]['cc'] = $val['cc']; 
} 

echo "<pre>"; 
print_r($res); 
0
foreach($array as $each) 
{ 
    $tmp = $each; 
    unset($tmp['group'],$tmp['type']); 
    $output[$each['group']][$each['type']] = $tmp; 
} 
0

我這樣做:

foreach($array as $each) 
{ 
    $output[$each['group']] = $each; 
} 

它有更多的尺寸,但看起來不錯,有時你也需要組。