我正在学习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