2013-04-18 47 views
5

Tiếp theo là sản phẩm của mảng đa chiều của tôi $csmap_dataLàm thế nào để chèn một khóa mới và giá trị trong mảng đa chiều?

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

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

    [flag] => 1 
) 

Ban đầu không có [flag] => 1 giá trị khóa trong mảng đó, tôi đã thêm nó vào mảng $csmap_data. Nhưng tôi muốn thêm [flag] => 1 vào hai phần tử mảng trên, không phải là phần tử mảng riêng biệt. Nói tóm lại tôi muốn ra sau đây:

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

Mã Tôi đã cố gắng để đạt được điều này là như sau, nhưng không thể có được kết quả mong muốn:

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

          $csmap_data ['flag'] = 1; 


        } 
      } 

bất cứ ai có thể giúp tôi trong việc thu thập các sản lượng mong muốn như tôi mô tả? Cảm ơn trước.

Trả lời

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

Điều đó cần thực hiện thủ thuật.

+0

Hey lừa của bạn làm việc cho tôi. Cảm ơn rất nhiều vì sự giúp đỡ của bạn. – PHPLover

+1

@phpLover Sau đó, bạn nên chấp nhận câu trả lời;) – Jon

+0

Bất cứ ai có thể cho tôi biết làm thế nào tôi có thể làm điều đó mà không có vòng lặp? – Poonam

6

Bạn cũng có thể làm điều đó sử dụng các hàm mảng php

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

điều này là tốt nhất và trọng lượng nhẹ process.tnkx buddy –

Các vấn đề liên quan