Php 将一个数组值添加到另一个数组值
这里是数组#1 这是数组#2 我只想将[total]=>$值添加到第一个数组中,使其看起来像Php 将一个数组值添加到另一个数组值,php,arrays,Php,Arrays,这里是数组#1 这是数组#2 我只想将[total]=>$值添加到第一个数组中,使其看起来像 Array ( [0] => Array ( [first] => LightSpeed [last] => Administrator [total] => 46.64 ) [1] => Array ( [fir
Array
(
[0] => Array
(
[first] => LightSpeed
[last] => Administrator
[total] => 46.64
)
[1] => Array
(
[first] => Tyler
[last] => Nichol
[total] => -46.64
)
非常确定这是数组推送,但不确定如何循环它。有什么建议吗?谢谢 这有点低技术,但我只想在你的数组中循环并插入全部项目。假设您只是在数组中项目的位置上与第二个数组匹配:
$vals = array_values($arr2);
foreach($arr1 as $i=>$item) {
$arr1[$i]['total'] = $vals[$i]['total'];
}
你不必一直循环
array\u merge
可以做到这一点
function superMerge($a, $b) {
$a['total'] = $b['total'];
return $a;
}
$array1 = array(0 => Array("first" => "LightSpeed","last" => "Administrator"),1 => Array("first" => "Tyler","last" => "Nichol"));
$array2 = array("I-10" => Array("user" => 2,"total" => 46.64),"I-11" => Array("user" => 2,"total" => - 46.64));
var_dump(array_map("superMerge", $array1, $array2));
输出
array
0 =>
array
'first' => string 'LightSpeed' (length=10)
'last' => string 'Administrator' (length=13)
'total' => float 46.64
1 =>
array
'first' => string 'Tyler' (length=5)
'last' => string 'Nichol' (length=6)
'total' => float -46.64
你的数组格式不好,所以我在回答中已经这样做了。您可能需要更新您的问题
<?php
$arr1 = Array
(
Array
(
'first' => 'LightSpeed',
'last' => 'Administrator'
),
Array
(
'first' => 'Tyler',
'last' => 'Nichol'
)
);
$arr2 = Array
(
'I-10' => Array
(
'user' => 2,
'total' => 46.64
),
'I-11' => Array
(
'user' => 2,
'total' => -46.64
)
);
$n = count($arr1);
$i = 0;
foreach($arr2 as $arr)
{
$arr1[$i]['total'] = $arr['total'];
$i++;
}
var_dump($arr1);
?>
您如何知道数组1中的键0将与数组2中的键I-10匹配?请查看。
array
0 =>
array
'first' => string 'LightSpeed' (length=10)
'last' => string 'Administrator' (length=13)
'total' => float 46.64
1 =>
array
'first' => string 'Tyler' (length=5)
'last' => string 'Nichol' (length=6)
'total' => float -46.64
<?php
$arr1 = Array
(
Array
(
'first' => 'LightSpeed',
'last' => 'Administrator'
),
Array
(
'first' => 'Tyler',
'last' => 'Nichol'
)
);
$arr2 = Array
(
'I-10' => Array
(
'user' => 2,
'total' => 46.64
),
'I-11' => Array
(
'user' => 2,
'total' => -46.64
)
);
$n = count($arr1);
$i = 0;
foreach($arr2 as $arr)
{
$arr1[$i]['total'] = $arr['total'];
$i++;
}
var_dump($arr1);
?>
array
0 =>
array
'first' => string 'LightSpeed' (length=10)
'last' => string 'Administrator' (length=13)
'total' => float 46.64
1 =>
array
'first' => string 'Tyler' (length=5)
'last' => string 'Nichol' (length=6)
'total' => float -46.64