我學習PHP從O'Reilly Media公司的書 'PHP編程',我偶然發現了這一點:沒有O'reilly的犯了一個錯誤:array_reduce
function add_up ($running_total, $current_value) {
$running_total += $current_value * $current_value;
return $running_total;
}
$numbers = array(2, 3, 5, 7);
$total = array_reduce($numbers, 'add_up');
echo $total;
的array_reduce()線,使這些函數調用:
add_up(2,3)
add_up(11,5)
add_up(36,7)
// $total is now 87
但是,當我計算我得到85.我想應該這樣寫:
的array_reduce()
線使得這些函數調用:
add_up (0,2);
add_up (4,3);
add_up (13,5);
add_up (38,7);
由於可選值$ initial默認設置爲NULL
。
mixed array_reduce (array $input , callable $function [, mixed $initial = NULL ])
能有更多知識的人向我解釋,誰錯了,爲什麼?
查看本書的勘誤頁。 –
我手動計算此值時得到87。編輯:http://viper-7.com/CG6bZe –
我的意思是,當從書中使用函數調用時,我得到了85,並在我的方式得到87 .. – boksa