PHP中如何根据指定索引为数组对应位置元素赋值
PHP按指定索引更新多维数组元素实现
核心逻辑是通过数组下标直接定位目标子元素完成赋值,操作前增加索引存在性校验避免运行时报错。
实现代码
// 原始多维数组 $list = [ ['name' => 'Soil', 'method' => ''], ['name' => '10 mm', 'method' => ''] ]; // 传入参数 $index = 1; $method = 'junior'; // 校验目标索引是否存在,防止越界报错 if (isset($list[$index])) { // 写入method字段值 $list[$index]['method'] = $method; // 如果你需要把该索引下的name键替换为nama_barang,保留以下两行;不需要可直接删除 $list[$index]['nama_barang'] = $list[$index]['name']; unset($list[$index]['name']); } // 输出验证结果 print_r($list);
运行结果
执行代码后得到的数组结构和预期完全一致:
Array ( [0] => Array ( [name] => Soil [method] => ) [1] => Array ( [method] => junior [nama_barang] => 10 mm ) )
注意事项
- 如果不需要修改
name键名为nama_barang,直接删除代码中对应键名替换的两行逻辑即可,仅保留method赋值语句就能完成值写入需求 - 索引存在性校验建议生产环境保留,可避免传入非法索引时抛出
Undefined array key警告
内容的提问来源于stack exchange,提问作者Gusti
相关产品推荐
相关产品推荐

