我正在學習PHP。無法理解爲什麼這段代碼無法正常工作。在while循環中使用array_sum()
特別是:爲什麼array_sum($ x)(1596)的結果大於$ cap?也許我不瞭解while循環的本質,但在我看來(看一下print_r($ x)),循環應該在實際執行之前切出一個步驟。
<?php
function fibonacci_sum($cap = 1000){
list($cur, $nxt, $seq) = array(0, 1, array());
while (array_sum($seq) < $cap) {
$seq[] = $cur;
$add = $cur + $nxt;
$cur = $nxt;
$nxt = $add;
}
return $seq;
}
$x = fibonacci_sum();
echo array_sum($x);
?>
任何洞察力的讚賞。
最佳, 亞光
謝謝你,丹尼爾。 – m477 2010-04-29 16:59:31