2014-04-23 3 views
0

Je tableaucréer un nouveau tableau php multidimentionnelle

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 
    ) 
) 

comment créer une nouvelle gamme se

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 
       ) 
     )  
    ) 
) 

il est possible ??

+0

Oui, il est possible! –

+0

pouvez-vous m'aider .... ?? – user3309434

+0

[Bien sûr] (http://www.google.com/search?q=php+array+group+by). –

Répondre

0

Oui, il est possible que vous pouvez juste foreach(your values as key => value) {} ou quelque chose comme ceci:

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

Great..thanx beaucoup – user3309434

0

Définissez-vous un nouveau tableau?

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

+0

yup ... pouvez vous aider – user3309434

+0

Pour * cet exemple * votre code est correct. Mais je crois que l'OP veut regrouper les sous-tableaux par 'cluster_name', puis par' driver_display_name'. –

+0

yup ... comment le grouper ...: D – user3309434

Questions connexes