2014-04-23 253 views
0

我有阵创建新的数组PHP多维

Array 
(
    [0] => Array 
     (
     [question_summary] => 
     [answer1] => 18 
     [answer2] => 3 
     [PercentEVQ] => 10.8000 
     [PercentEVQ2] => 11 
     [driver_display_name] => Position 
     [cluster_name] => Personal Impact 
    ) 

    [1] => Array 
     (
     [question_summary] => 
     [answer1] => 51 
     [answer2] => 3 
     [PercentEVQ] => 30.6000 
     [PercentEVQ2] => 31 
     [driver_display_name] => Position 
     [cluster_name] => Personal Impact 
    ) 
) 

如何创建新的阵列成为

Array 
(
    [Personal Impact] => Array 
     (
      [Position] => array 
      (
       [0] => array 
       (
        [question_summary] => 
        [answer1] => 18 
        [answer2] => 3 
        [PercentEVQ] => 10.8000 
        [PercentEVQ2] => 11 
        [driver_display_name] => Position 
        [driver_name] => Position 
        [cluster_name] => Personal Impact 
       ) 
       [1] => Array 
       (
        [question_summary] => 
        [answer1] => 51 
        [answer2] => 3 
        [PercentEVQ] => 30.6000 
        [PercentEVQ2] => 31 
        [driver_display_name] => Position 
        [driver_name] => Position 
        [cluster_name] => Personal Impact 
       ) 
     )  
    ) 
) 

这是可能的?

+0

是的,这是可能的! –

+0

你能帮我.... ?? – user3309434

+0

[当然](http://www.google.com/search?q=php+array+group+by)。 –

回答

0

是的,它是可能的你可以foreach(your values as key => value) {}它或者是这样的:

Sample Fiddle

<?php 
$new_values = array(); 
foreach($old_values as $key => $values) { 
    $new_values[$values['cluster_name']][$values['driver_display_name']][] = array(
     'answer1' => $values['answer1'], 
     'answer2' => $values['answer2'], 
     'PercentEVQ' => $values['PercentEVQ'], 
     'PercentEVQ2' => $values['PercentEVQ2'], 
     'driver_display_name' => $values['driver_display_name'], 
     'cluster_name' => $values['cluster_name'], 
    ); 
} 
+0

很好..很多很多 – user3309434

0

你正在定义一个新的数组?

$new_array['Personal Impact']['Position'] = $old_array;

+0

是...你能帮忙 – user3309434

+0

对于*这个例子*你的代码是正确的。但我相信OP希望通过'cluster_name'对子阵列进行分组,然后通过'driver_display_name'进行分组。 –

+0

yup ...如何将它分组...:D – user3309434