2013-04-18 35 views
5

以下是我的多维阵列的输出$csmap_data如何在多维数组中插入新的键和值?

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

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

    [flag] => 1 
) 

最初有数组中没有[flag] => 1键值,我把它添加到阵列$csmap_data。 但我想在上面的两个数组元素中添加[flag] => 1,而不是作为单独的数组元素。总之,我想下面的输出:

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

我试图做到这一点是如下,但无法获得所需的输出代码:

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

          $csmap_data ['flag'] = 1; 


        } 
      } 

谁能帮我在获取我所描绘的期望输出?提前致谢。

回答

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

这应该可以做到。

+0

喂你的绝招为我工作。非常感谢您的帮助。 – PHPLover

+1

@phpLover然后,你应该接受答案;) – Jon

+0

任何人都可以告诉我,我怎么能没有循环呢? – Poonam

6

你也可以做到这一点使用PHP阵列功能

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

这是最好的,加权的process.tnkx哥们 –