2011-05-05 65 views
0

我使用SimplePhp IRC BOT,您可以在頁面上看到所有代碼。IRC Php Bot - 嵌套錯誤

我遇到的問題是主函數調用它遞歸,所以經過100個電話,它只是錯誤了,我得到這個錯誤:

致命錯誤:「100」最大的功能嵌套層次到達,墮胎!在C:\ XAMPP \ XAMPP \上線htdocs中\聯賽\ bot.php 106

我將粘貼下面的一些主要功能:

function main($config) 
    {    
      $data = fgets($this->socket, 256); 

      echo nl2br($data); 

      flush(); 

      $this->ex = explode(' ', $data); 


      if($this->ex[0] == 'PING') 
      { 
        $this->send_data('PONG', $this->ex[1]); //Plays ping-pong with the server to stay connected. 
      } 

      $this->main($config); 
    } 

有沒有一種方法來實現相同的功能沒有函數調用自己遞歸?是否可以擁有這種嵌套級別,並且我應該增加嵌套限制xdebug?

回答

3

是 - a while()循環。

無限遞歸這個變種在PHP中無法有效工作,因爲它不會消除尾部調用。雖然您可以增加嵌套限制,但最終會在最終崩潰之前燒燬越來越多的內存。

+0

This Works,thanks! – mike 2011-05-05 19:42:21