如何在PHP中向关联数组中添加元素?

3

我的数组

$data1 = array(
        array(
                'title' => 'My title',
                'name' => 'My Name',
                'date' => 'My date'
        ),
        array(
                'title' => 'Another title',
                'name' => 'Another Name',
                'date' => 'Another date'
        )
);

我希望在所有的关联数组中添加一个名为 'status' 的数组,其值为 1。
$data = array(
        array(
                'title' => 'My title',
                'name' => 'My Name',
                'date' => 'My date',
                'status' => 1

        ),
        array(
                'title' => 'Another title',
                'name' => 'Another Name',
                'date' => 'Another date',
                'status' => 1
        ),
        array(
                'title' => 'second title',
                'name' => 'second Name',
                'date' => 'second date',
                'status' => 1
        )
);

1
你可能会使用 foreach 循环 遍历外部数组,或者对其应用 array_walk 回调函数。 - Scuzzy
4个回答

6

2

我不太清楚你想做什么,但如果你想给每个项目添加status标志,只需尝试以下操作:

foreach($data1 as &$item) {
   $item['status'] = 1;
}

这将为$data1中的每个$item添加新的关联键status,并将其值设置为1


1
上面的“通过引用传递”解决方案可能是最优雅的,但如果您不想修改现有数组,可以这样做:
foreach ( $data1 as $value )
{
    $value["status"] = 1;
    $data[] = $value;
}

var_dump ( $data );

1
<?php 
  foreach($data as $key=>$val){
      $data[$key]['status'] = 1;
  }
  echo "<pre>";
  print_r($data); 
?>

您可以在现有数组中添加状态键。

1
在StackOverflow上,仅包含代码的答案价值较低,因为它们很少有助于教育。请编辑您的答案,以便向OP和成千上万的未来研究人员说明您的答案如何工作以及为什么它是一种好的技术。 - mickmackusa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接