2013-04-18 26 views
5

In seguito è l'uscita del mio array multidimensionale $csmap_dataCome inserire una nuova chiave e valore nell'array multidimensionale?

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

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

    [flag] => 1 
) 

Inizialmente non c'era [flag] => 1 valore-chiave nella matrice, ho aggiunto alla matrice $csmap_data. Ma voglio aggiungere lo [flag] => 1 nei due elementi dell'array di cui sopra, non come un elemento di array separato. In breve ho voluto seguente output:

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

Il codice che stavo cercando di raggiungere questo obiettivo è la seguente, ma non sono riuscito a ottenere il risultato desiderato:

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

          $csmap_data ['flag'] = 1; 


        } 
      } 

Qualcuno mi può aiutare ad ottenere il output desiderato come ho raffigurato? Grazie in anticipo.

risposta

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

Questo dovrebbe fare il trucco.

+0

Hey vostro trucco ha funzionato per me. Grazie mille per il tuo aiuto. – PHPLover

+1

@phpLover Quindi dovresti accettare la risposta;) – Jon

+0

Qualcuno può dirmi come posso farlo senza loop? – Poonam

6

Si può anche farlo utilizzando le funzioni di array PHP

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

questo è il migliore e leggero ponderato process.tnkx amico –

Problemi correlati