2016-08-05 28 views
0

Ich habe ein Array wie folgt. Dies ist das Ergebnis einer Abfrage auf einem unserer Server.PHP Formatierung Array Ergebnisse

Array 
(
    [count] => 1 
    [0] => Array 
     (
      [name] => Array 
       (
        [count] => 1 
        [0] => mac 
       ) 

      [0] => name 
      [staffid] => Array 
       (
        [count] => 1 
        [0] => 1234 
       ) 

      [1] => staffid 
      [school] => Array 
       (
        [count] => 1 
        [0] => western 
       ) 

      [2] => school 
      [count] => 3 
      [dn] => cn=mac,cn=staff 
     ) 

) 

Wie gehe ich durch dieses Array und erstellen Sie ein neues Array wie folgt.

Array 
(
    [name] => mac 
    [staffid] => 1234 
    [school] => western 
) 

Ich habe versucht, eine foreach Schleife die Schlüssel & Werte Echo, aber ich bin nicht sicher, wo von dort aus gehen. Es werden mehr Ergebnisse zurückgegeben, wenn die Abfrage erweitert wird, aber das ursprüngliche Array-Layout ist dasselbe und das neue Layout muss dasselbe Format haben.

Irgendwelche Ideen? Dank

+0

Sie haben eine "count" in jedem dieser Teilanordnungen. Wenn die Anzahl 2 oder höher ist, müssen diese Werte als Arrays zurückgegeben werden? –

+0

Soweit ich das beurteilen kann, wird die Anzahl im Sub-Array immer 1 sein. – MacMan

Antwort

2

Try this:

$result = array(); 
foreach($yourArray as $element){ 
    for($i=0;$i<$element['count']; $i++){ 
     unset($element[$element[$i]]['count']); 
     $result[$element[$i]] = implode(', ', $element[$element[$i]]); 
    } 
} 
+0

Danke, ich musste die unscharfe Zeile bearbeiten und zu 'unset' ändern ($ element [$ element [$ i]] ['count']); '- aber jetzt funktioniert es super :) – MacMan

+0

Ops :) -> Ich habe es auch geändert – Marcus