2013-04-18 19 views
5

Poniżej znajduje wyjście z mojej tablicy wielowymiarowej $csmap_dataJak wstawić nowy klucz i wartość w tablicy wielowymiarowej?

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

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

    [flag] => 1 
) 

Początkowo nie było [flag] => 1 klucz-wartość w tablicy, dodałem go do tablicy $csmap_data. Ale chcę dodać [flag] => 1 w powyższych dwóch elementów tablicy, a nie jako oddzielny element tablicy. W skrócie chciałem następujący wynik:

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

Kod starałem się osiągnąć to w następujący sposób, ale nie mógł uzyskać pożądany wynik:

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

          $csmap_data ['flag'] = 1; 


        } 
      } 

Czy ktoś może mi pomóc w uzyskaniu pożądany wynik, jak pokazano? Z góry dziękuję.

Odpowiedz

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

To powinno załatwić sprawę.

+0

Hej trick pracował dla mnie. Dziękuję bardzo za pomoc. – PHPLover

+1

@phpLover Następnie powinieneś zaakceptować odpowiedź;) – Jon

+0

Czy ktoś może mi powiedzieć, jak mogę to zrobić bez pętli? – Poonam

6

Można również zrobić to za pomocą funkcji tablicy PHP

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

to jest najlepszy i lekki process.tnkx kolego –

Powiązane problemy