我有这个多维数组:
array(1) {
[0]=>
array(1) {
["service"]=>
string(3) "top"
}
}
我想把内部数组推到下面的字符串
string(3) "443"
上面的字符串我使用array_shift
从数组中获取它$id = array_shift($_POST['updateIDs']);
所以它可以变成这样:
array(1) {
[0]=>
array(1) {
["service"]=>
string(3) "top"
['id']=>'443'
}
}
我认为必须使用array_push和foreach完成...我试过但我不能。
答案 0 :(得分:4)
尝试:
$array = [['service' => 'top']];
$id = '443';
foreach ($array as &$value) {
$value['id'] = $id;
}
var_dump($array);
问题是,如果您有更多条目,它会将相同的值附加到所有出现的位置。
但我不知道你的上下文是什么,我可以通过更多细节来调整这段代码
正如@ mickmamusa的评论所说:为什么要额外的水平?
如果你可以删除它,那么推送id的代码就变成了
$array = ['service' => 'top'];
$id = '443';
$array['id'] = $id;
var_dump($array);
当你有多维数组来处理某些情况时,foreach是我的首选,取决于当前的键。所以我通常不喜欢使用这种代码:
$array[0]["id"] = '443';
答案 1 :(得分:0)
<?php
$array[0]['id'] = '443';
或
<?php
reset($array);
$key = key($array);
$array[$key]['id'] = '443';