如何创建新的键名并将数组中的值与PHP组合?

如何创建新的键名并将数组中的值与PHP组合?,php,arrays,Php,Arrays,我有两个PHP数组,需要将值组合在一起 第一个数组 array(2) { [0]=> array(1) { ["id"]=> string(1) "1" } [1]=> array(1) { ["id"]=> string(2) "40" } } 第二个数组 array(2) { [0]=> string(4) "1008" [1

我有两个PHP数组,需要将值组合在一起

第一个数组

array(2) {
    [0]=>
    array(1) {
        ["id"]=>
        string(1) "1"
    }
    [1]=>
    array(1) {
        ["id"]=>
        string(2) "40"
    }
}
第二个数组

array(2) {
    [0]=>
    string(4) "1008"
    [1]=>
    string(1) "4"
}
所需输出

array(2) {
    [0]=>
    array(1) {
        ["id"]=>
        string(1) "1",
        ["count"]=>
        string(1) "1008"
    }
    [1]=>
    array(1) {
        ["id"]=>
        string(2) "40",
        ["count"]=>
        string(1) "4"
    }
}
如您所见,我需要向第二个数组中添加一个新的键名(
count
),并将值合并到第一个数组中


如何将此阵列组合输出?

请尝试以下方法。其思想是迭代第一个数组,并为每个数组索引添加一个新的键“count”,该键保存第二个数组的同一索引中包含的值

$array1 = [];
$array2 = [];

for ($i = 0; $i < count($array1); $i++) {
    $array1[$i]['count'] = $array2[$i];
}
$array1=[];
$array2=[];
对于($i=0;$i
尝试以下方法。其思想是迭代第一个数组,并为每个数组索引添加一个新的键“count”,该键保存第二个数组的同一索引中包含的值

$array1 = [];
$array2 = [];

for ($i = 0; $i < count($array1); $i++) {
    $array1[$i]['count'] = $array2[$i];
}
$array1=[];
$array2=[];
对于($i=0;$i
你可以这样做

$arr1=[["id"=>1],["id"=>40]];
$arr2=[1008,4];
for($i=0;$i<count($arr2);$i++){
  $arr1[$i]["count"] = $arr2[$i];
}

你可以这样做

$arr1=[["id"=>1],["id"=>40]];
$arr2=[1008,4];
for($i=0;$i<count($arr2);$i++){
  $arr1[$i]["count"] = $arr2[$i];
}

另一种功能性方法(这不会改变初始数组):

输出:

Array
(
    [0] => Array
        (
            [id] => 1
            [count] => 1008
        )

    [1] => Array
        (
            [id] => 40
            [count] => 4
        )
)

另一种功能性方法(这不会改变初始数组):

输出:

Array
(
    [0] => Array
        (
            [id] => 1
            [count] => 1008
        )

    [1] => Array
        (
            [id] => 40
            [count] => 4
        )
)

或者使用递归的另一种方法:

$arr1=[["id"=>1],["id"=>40]];
$arr2=[1008,4];

foreach ($arr1 as $key=>$value) {
    $result[] = array_merge_recursive($arr1[$key], array ("count" => $arr2[$key]));
}

print_r($result);
和输出:

Array
(
    [0] => Array
        (
            [id] => 1
            [count] => 1008
        )

    [1] => Array
        (
            [id] => 40
            [count] => 4
        )

)

或者使用递归的另一种方法:

$arr1=[["id"=>1],["id"=>40]];
$arr2=[1008,4];

foreach ($arr1 as $key=>$value) {
    $result[] = array_merge_recursive($arr1[$key], array ("count" => $arr2[$key]));
}

print_r($result);
和输出:

Array
(
    [0] => Array
        (
            [id] => 1
            [count] => 1008
        )

    [1] => Array
        (
            [id] => 40
            [count] => 4
        )

)

不太清楚为什么需要编辑,我已经将其回滚到以前的版本,因为它包含更多更好的信息。显示
var\u dump
与实际数组相比没有任何意义…@YashParekh我以前接受过您的更改不太清楚为什么需要编辑,我已将其回滚到以前的版本,因为它包含更多更好的信息。显示
var\u dump
与实际数组相比没有任何意义…@YashParekh我已接受您的更改before@SimonOrro不,你没有。此代码段无法生成该警告。你能显示你的更新代码吗@西蒙诺罗不,你没有。此代码段无法生成该警告。你能显示你的更新代码吗?