具有多维数组的数组推送

时间:2018-04-19 10:51:18

标签: php arrays

我有这个多维数组:

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完成...我试过但我不能。

2 个答案:

答案 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';