如何在多维数组中插入新的键和值



以下是我的多维数组$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);

相关内容

  • 没有找到相关文章

最新更新