萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> 用PHP迭代器來實現一個斐波納契數列

用PHP迭代器來實現一個斐波納契數列

   斐波納契數列通常做法是用遞歸實現,當然還有其它的方法。這裡現學現賣,用PHP的迭代器來實現一個斐波納契數列,幾乎沒有什麼難度,只是把類裡的next()方法重寫了一次。注釋已經寫到代碼中,也是相當好理解的。

  current;

  }

  public function key() {

  return $this->key;

  }

  public function next() {

  // 關鍵在這裡

  // 將當前值保存到 $newprevious

  $newprevious = $this->current;

  // 將上一個值與當前值的和賦給當前值

  $this->current += $this->previous;

  // 前一個當前值賦給上一個值

  $this->previous = $newprevious;

  $this->key++;

  }

  public function rewind() {

  $this->previous = 1;

  $this->current = 0;

  $this->key = 0;

  }

  public function valid() {

  return true;

  }

  }

  $seq = new Fibonacci;

  $i = 0;

  foreach ($seq as $f) {

  echo "$f ";

  if ($i++ === 15) break;

  }

  ?>

  程序運行結果:

  0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610

copyright © 萬盛學電腦網 all rights reserved