foreach (array_keys($R + $A) as $arrKey) {
$sums[$arrKey] = (isset($R[$arrKey]) ? $R[$arrKey] : 0) + (isset($A[$arrKey]) ? $A[$arrKey] : 0);}
以上工作。数组不需要具有相同数量的键,它可以正确添加。
foreach (array_keys($B - $C) as $arrKey) {
$sums[$arrKey] = (isset($B[$arrKey]) ? $B[$arrKey] : 0) - (isset($C[$arrKey]) ? $C[$arrKey] : 0);}
foreach (array_keys($B + $C) as $arrKey) {
$sums[$arrKey] = (isset($B[$arrKey]) ? $B[$arrKey] : 0) - (isset($C[$arrKey]) ? $C[$arrKey] : 0);}
以上两种方法都不起作用。他们打印出致命错误:不支持的操作数类型(并且它们都指向每个中的第一行(其中带有“foreach”的行)。当我想要添加东西时,它们可能具有或不具有相等的数字。当我想要东西时减去,两个数组都有相同的数字。
所以,我的问题是:为什么加法有效,但减法无效?然后如何减去?