0

我试图从另一个嵌套数组中减去一个嵌套数组的部分,但我很难指定要减去的部分,因为两个值都是数字。

我的数组是,例如:

Array ( [0] => Array ( [id] => 43 [quantity] => 4 ) ) 
Array ( [0] => Array ( [id] => 43 [quantity] => 2 ) )

在减法之后,我希望结果是:

Array ( [0] => Array ( [id] => 43 [quantity] => 2 ) )

我正在使用以下代码执行减法,但我无法阻止它id从自身中减去:

foreach(array_keys($arrayA) as $id)
{
    foreach(array_keys($arrayA[$id]) as $type)
    {
        $newArray[$id][$type] = $arrayA[$id][$type] - $arrayB[$id][$type];
    }
}

print_r($newArray);

有人可以告诉我如何在[quantity]不改变数组的情况下影响数组的一部分[id]吗?使用代码,我得到:

Array ( [0] => Array ( [id] => 0 [quantity] => 2 ) )

提前致谢。

4

1 回答 1

2
$ar1 = array(0 => array('id' => 43, 'quantity' => 4));
$ar2 = array(0 => array('id' => 43, 'quantity' => 2));
$new_array = array();

foreach($ar1 as $key => $value)
{
    $new_array[$key] = array('id' => $value['id'], 'quantity' => ($value['quantity'] - $ar2[$key]['quantity']));
}

Array 
( 
    [0] => Array 
        ( 
            [id] => 43 
            [quantity] => 2 
        ) 
)
于 2013-09-03T12:52:58.033 回答