PHP多维数组内层添加元素求助:如何将array_shift值加入内层数组?
解决PHP数组添加键值对的问题
嘿,我来帮你搞定这个问题!你其实不需要用array_push或者foreach这么复杂的方式,因为你的原数组外层只有一个元素,直接给内层数组新增键值对就行啦。
具体实现步骤:
- 先获取你需要的
id值(这部分你已经写好啦):
$id = array_shift($_POST['updateIDs']); // 得到字符串"443"
- 假设你的原数组是
$originalArray,直接给内层数组添加id键值对:
// 你的原数组 $originalArray = array( array("service" => "top") ); // 给内层数组新增id键 $originalArray[0]['id'] = $id;
处理完成后,你的数组就会变成预期的样子:
array(1) { [0]=> array(2) { ["service"]=> string(3) "top" ["id"]=> string(3) "443" } }
为什么你之前的方法没成功?
array_push的作用是往数组末尾添加新的元素(比如给外层数组新增一个子数组),而你需要的是给已经存在的内层数组添加键值对,直接赋值才是正确的操作。如果你的外层数组有多个元素,那才需要用foreach遍历每个内层数组来批量添加id,示例代码如下:
foreach ($originalArray as &$item) { $item['id'] = $id; } unset($item); // 记得释放引用,避免后续数组操作出问题
但你的场景里外层只有一个元素,直接访问索引[0]就足够简单高效啦。
内容的提问来源于stack exchange,提问作者tom
相关产品推荐
相关产品推荐

