2010-11-13 22 views
1

Ce code générerait-il une boucle infinie?opérateur de résolution de portée - boucle infinie?

class one{ 
    function ex() { 
     echo "Looptext"; 
     one::ex2(); 
    } 
    function ex2() { 
     one::ex(); 
    } 
} 

$one = new one; 
$one->ex2(); 

J'apprends OO dans la programmation php ...

+0

L'avez-vous essayé? –

+0

oui j'ai essayé le code à writecodeonline.com/php! Mais il semble que le code s'arrête au bout d'un moment. – William

Répondre

3

Les deux fonctions finissent par appeler les uns des autres, ce qui se traduit par la « boucle » infinie (ce n'est pas vraiment une boucle, mais le résultat est un nombre infini d'appels de méthode).

EX2() - premier appel - appelle ex() - Appels EX2() à nouveau - appels ex() à nouveau

... boucle infinie.

+0

OK, merci! Mais quand j'essaye le code ici sur ce site Web: http://writecodeonline.com/php/ il finit juste après un moment. Alors est-ce vraiment infini? – William

+3

Les scripts PHP ont seulement un certain temps à exécuter. Si cela dépasse cette durée, le serveur tue la tâche. –

+0

Ahh okey! Génial! Merci encore pour l'aide :) – William