簡體   English   中英

如何在多維數組中插入新的鍵和值?

[英]How to insert a new key and value in multidimensional array?

以下是我的多維數組$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;


                    }
            }

任何人都可以幫助我獲得我所描述的所需輸出嗎? 提前致謝。

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

這應該夠了吧。

您也可以使用 php 數組函數來完成

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

更新:要在array_map函數的回調函數中使用多個變量,我們可以通過use

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM