You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向PHP数组的指定索引中添加键值对?

解决PHP数组向指定子数组添加键值对的问题

问题场景

现有如下PHP数组:

$tblData[] = array(
    "Orange" => "Healthy",
    "Apple" => "Good",
    "Pizza" => "Bad",
);

打印输出为:

Array
(
    [0] => Array
        (
            [Orange] => Healthy
            [Apple] => Good
            [Pizza] => Bad
        )

)

执行$tblData[] = array("Hot dogs" => "Big No");后,数组会新增一个索引为1的子数组,但实际需求是将"Hot dogs" => "Big No"添加到索引[0]的子数组末尾,预期输出:

Array
(
    [0] => Array
        (
            [Orange] => Healthy
            [Apple] => Good
            [Pizza] => Bad
            [Hot dogs] => Big No
        )

)

正确解决方案

方法1:直接赋值(最直观)

直接访问索引[0]的子数组,添加新的键值对:

$tblData[0]["Hot dogs"] = "Big No";

方法2:使用array_merge合并

如果需要批量合并多个键值对到子数组,可使用array_merge,注意要将合并结果重新赋值给$tblData[0]:

$tblData[0] = array_merge($tblData[0], array("Hot dogs" => "Big No"));

为什么之前的尝试失败?

  • 用$tblData[] = ...是向外层数组新增元素,而非修改已有子数组
  • 使用array_push时如果直接传入完整数组,会把整个数组作为一个元素添加到外层数组,而非目标子数组
  • 使用array_merge时如果没有将结果赋值回$tblData[0],原数组不会被修改

内容的提问来源于stack exchange,提问作者Noob YT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 16:48:13