使用PHP获取斐波那契数字

斐波那契数不仅有一些用途,而且本身也是一个很好的小数列。

序列从0开始,下一个数字是1,其后的每个数字是最后两个数字的总和。因此,第三个数字是1,第二个数字是2。

要在PHP中创建此数字序列,我们需要在数组中创建前两个项目。我们知道它们是0和1,我们可以像这样创建数组。

$fibarray = array(0, 1);

要创建第三个数字,我们只需将前两个数字相加即可。

$fibarray[2] = $fibarray[0] + $fibarray[1];

如果将其添加到循环中,则可以继续进行任意数量的操作。

for ( $i=2; $i<=10; ++$i ) {
 $fibarray[$i] = $fibarray[$i-1] + $fibarray[$i-2];
}

这将创建一个具有以下值的数组。

Array
(
 [0] => 0
 [1] => 1
 [2] => 1
 [3] => 2
 [4] => 3
 [5] => 5
 [6] => 8
 [7] => 13
 [8] => 21
 [9] => 34
 [10] => 55
)

接下来,我们可以使用以下函数将斐波纳契数列获取到所需的任何位置。

function fibonacciSequence($pos){
 $fibarray = array(0, 1);
 for ( $i=2; $i<=$pos; ++$i ) {
  $fibarray[$i] = $fibarray[$i-1] + $fibarray[$i-2];
 }
 return $fibarray;
}

我们还可以创建一个非常相似的函数,该函数仅在特定位置返回数字。

function fibonacciSequence($pos){
 $fibarray = array(0, 1);
 for ( $i=2; $i<=$pos; ++$i ) {
  $fibarray[$i] = $fibarray[$i-1] + $fibarray[$i-2];
 }
 return $fibarray[$pos];
}

例如,如果我们将此函数传递给数字56,则结果将为225,851,433,717。