我有以下功能避免不确定的偏移误差
function getSum($array){
if(is_array($array)) {
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
$sum = 0;
foreach ($iterator as $key => $value) {
$sum += $value;
}
} else{
$sum = $array;
}
return $sum;
}
而且我使用它像这样
$teams = array();
$teams[1]['AREA I']['blue'] = 30;
$teams[1]['AREA I']['green'] = 25;
$teams[1]['AREA II']['blue'] = 15;
$teams[2]['AREA I']['blue'] = 40;
echo getSum($teams); //output: 110
echo getSum($teams[1]); //output: 70
echo getSum($teams[1]['AREA I']); //output: 55
echo getSum($teams[1]['AREA I']['blue']); //output: 30
如何避免错误未定义偏移使用像getSum($teams[2]['AREA IV']
(关键领域IV不是当组)?在这种情况下,我希望该函数返回零。
添加一个检查,如果offset设置与否。视情况而定'isset'或'empty'。 –
要添加到@Sougata所说的内容中,可以使用''trim'](http://php.net/manual/en/function.trim.php)和'empty'。 – Script47
[未定义的偏移PHP错误]的可能重复(http://stackoverflow.com/questions/2508215/undefined-offset-php-error) –