PHP递归实现斐波那契数列
<?php
echo"########\n";
class Fibonacci{
function fib($i){
if( $i < 2 ){
return $i == 0 ? 0 : 1;
} else {
return ( $this->fib($i-1) + $this->fib($i-2) );
}
return 0;
}
function work($num = ''){
if( !isset($num) || empty($num) ){
$num = 10;
}
for($i = 0; $i < $num; $i++){
echo $this->fib($i)." ";
}
return 0;
}
}
$fibonacci = new Fibonacci;
if( count($argv) == 1 ){
$num = 20;
} elseif( count($argv) == 2 ){
$num = $argv[1];
} elseif( !isset($num) ){
echo "参数错误, 请正确运行脚本!\n";
die;
}
$fibonacci->work($num);
echo "\n########\n";