我有以下功能避免不確定的偏移誤差
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) –