/** * 给长度计算值 */ function feibolaqi($num) { $arr = array(); for($i=1;$i<=$num;$i++) { if($i == 1 || $i == 2) { $arr[$i-1] = 1; } else { $arr[$i-1] = $arr[$i-2] + $arr[$i-3]; } } return $arr; } print_r(feibolaqi(9));
Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 3 [4] => 5 [5] => 8 [6] => 13 [7] => 21 [8] => 34 )
/** * 给值计算长度 */ function feibolaqi_val($val){ $before = 0; $after = 0; $arr = array(); for($i=1;$i<$val;$i++){ if($i==1){ $before = $i; $arr[]= $i; $after = $before+$after; }else{ $before = $after-$before; $after = $before+$after; $arr[]= $after; if($after==$val){ $arr['val']= $i; break; } } } return $arr; } print_r(feibolaqi_val(34));
Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 3 [4] => 5 [5] => 8 [6] => 13 [7] => 21 [8] => 34 [val] => 9 )