2013-04-18 5 views
5

Nach der Ausgabe meiner mehrdimensionales Array ist $csmap_dataWie fügt man einen neuen Schlüssel und Wert in ein mehrdimensionales Array ein?

Array 
(
    [0] => Array 
     (
      [cs_map_id] => 84 
      [cs_subject_id] => 1 
     ) 

    [1] => Array 
     (
      [cs_map_id] => 85 
      [cs_subject_id] => 5 
     ) 

    [flag] => 1 
) 

zunächst kein [flag] => 1 Schlüssel-Wert in dem Feld war, habe ich es auf das Array $csmap_data. Aber ich möchte die [flag] => 1 in den oben genannten zwei Array-Elemente hinzufügen, nicht als ein separates Array-Element. Kurz gesagt wollte ich folgende Ausgabe:

Array 
    (
     [0] => Array 
      (
       [cs_map_id] => 84 
       [cs_subject_id] => 1 
       [flag] => 1 
      ) 

     [1] => Array 
      (
       [cs_map_id] => 85 
       [cs_subject_id] => 5 
       [flag] => 1 
      ) 
     ) 

Der Code, den ich zu erreichen versuche, dies wie folgt ist, konnte aber die gewünschte Ausgabe nicht erhalten:

if (!empty($csmap_data)) { 
        foreach($csmap_data as $csm) { 
         $chapter_csmap_details = $objClassSubjects->IsClassSubjectHasChapters($csm['cs_map_id']); 

          $csmap_data ['flag'] = 1; 


        } 
      } 

Kann mir jemand helfen, in der Beschaffung gewünschte Ausgabe wie ich dargestellt? Danke im Voraus.

Antwort

19
<? 
foreach($csmap_data as $key => $csm) 
{ 
    $csmap_data[$key]['flag'] = 1; 
} 

Das sollte den Trick tun.

+0

Hey Ihr Trick funktionierte für mich es zu benutzen. Vielen Dank für Ihre Hilfe. – PHPLover

+1

@phpLover Dann solltest du die Antwort akzeptieren;) – Jon

+0

Kann mir jemand sagen wie kann ich es ohne Schleife machen? – Poonam

6

Sie können tun, auch PHP-Array-Funktionen

$csmap_data = array_map(function($arr){ 
    return $arr + ['flag' => 1]; 
}, $csmap_data); 
+0

Dies ist die beste und leichteste Prozess.tnkx Buddy –

Verwandte Themen