2017-02-27 4 views
-1

I haben Array benannten Daten wie untenPHP-Array-Gruppe in der Schleife und schaffen mehrdimensionale assoziative Array

$data = array(); 
$data = array ( 
    [0] => Array (
       [class]   => 1styear 
       [branch]  => IT 
       [Exam]   => SEM1 
       [student name] => Alex 
       [Bio]   => Good Boy 
       ) 
    [1] => Array ( 
       [class]   => 2ndyear 
       [branch]  => Finance 
       [Exam]   => SEM1 
       [student name] => Mark 
       [Bio]   => Intelligent 
       ) 
    [2] => Array (
       [class]  => 2ndyear 
       [branch]  => IT 
       [Exam]   => SEM1 
       [student name] => Shaun 
       [Bio]   => Football Player 
       ) 
    [3] => Array ( 
       [class] => 1styear 
       [branch] => Finance 
       [Exam] => SEM2 
       [student name] => Mike 
       [Bio] => Sport Player 
       ) 
    [4] => Array ( 
       [class] => 1styear 
       [branch] => IT 
       [Exam] => SEM2 
       [student name] => Martin 
       [Bio] => Smart 
       ) 
    [5] => Array ( 
       [class] => 1styear 
       [branch] => IT 
       [Exam] => SEM1 
       [student name] => Philip 
       [Bio] => Programmer 
       ) 
    ) 

Klasse, Ast, Prüfung repetitiv sein kann
I bis Gruppe obigen Elemente benötigen und verschachtelte mehrdimensionale assoziativen erstellen Array. Array wie diese erwartet o/p aussehen sollte

array(
    '1styear' => 
     array (
      0 => 
       array(
        'Exam' => 'SEM1', 
        'branch' => 
         array (
          0 => 'IT' 
         ), 
       ), 
      1 => 
       array(
        'Exam' => 'SEM2', 
        'branch' => 
         array (
          0 => 'IT' 
         ), 
       ), 
     ), 
    '2ndyear' => 
     array (
      0 => 
       array(
        'Exam' => 'SEM1', 
        'branch' => 
         array (
          0 => 'Finance', 
         ), 
       ), 
      1 => 
       array(
        'Exam' => 'SEM2', 
        'branch' => 
         array (
          0 => 'Finance' 
         ), 
       ) 
     ), 
) 

in Schleife i folgenden Code versucht

foreach($data as $array){ 
    $rr[$array["class"]]['Exam'][$array["Exam"]][] = array("Competitors" =>$array["Competitor"]) ; 
} 
+0

Sollte nicht die 2ndyear, sem1 enthalten 2 Zweige? IT & Finance im Multidim-Array-Beispiel? Schlüssel: 1 und 2 in Ihrem $ Daten-Array. –

+2

Ihre Eingabe und die gewünschte Ausgabe scheinen nicht übereinzustimmen. – jeroen

+0

Zeigen Sie eine Idee über erforderliche Array-Format –

Antwort

0
$res = []; 
foreach ($data as $key => $val) { 
    $res[$val['class']][] = ['Exam' => $val['Exam'], 
          'branch' => [$val['branch']] 
     ]; 
} 

print_r($res); 
+0

es gibt keine erwarteten o/p zurück. es sollte nach Prüfung gruppieren und dann verzweigen – webpic