Rekursion – Kann ich benutzerdefinierte Funktionen in PHP-Mitgliedsmethoden schreiben?

WBOY
Freigeben: 2016-09-06 08:57:10
Original
1003 Leute haben es durchsucht

Kann ich benutzerdefinierte Funktionen in PHP-Mitgliedsmethoden schreiben?
Ich habe eine Funktion in einer Methode definiert, aber beim Aufruf wurde ein Fehler gemeldet
Dies ist die Methode, die den Fehler gemeldet hat
Rekursion – Kann ich benutzerdefinierte Funktionen in PHP-Mitgliedsmethoden schreiben?
Der Fehler wurde wie folgt gemeldet

Rekursion – Kann ich benutzerdefinierte Funktionen in PHP-Mitgliedsmethoden schreiben?

Aber ich habe eine andere Methode, die auch Funktionen schreibt und eine Rekursion durchführt, aber es wird kein Fehler gemeldet.

Rekursion – Kann ich benutzerdefinierte Funktionen in PHP-Mitgliedsmethoden schreiben?

Dies ist die Schnittstelle zum Aufrufen dieser beiden Methoden

Rekursion – Kann ich benutzerdefinierte Funktionen in PHP-Mitgliedsmethoden schreiben?

Warum wird ein Fehler gemeldet? Kann es jemand erklären oder einen guten Weg finden, damit umzugehen

Antwortinhalt:

Kann ich benutzerdefinierte Funktionen in PHP-Mitgliedsmethoden schreiben?
Ich habe eine Funktion in einer Methode definiert, aber beim Aufruf wurde ein Fehler gemeldet
Dies ist die Methode, die den Fehler gemeldet hat
Rekursion – Kann ich benutzerdefinierte Funktionen in PHP-Mitgliedsmethoden schreiben?
Der Fehler wurde wie folgt gemeldet

Rekursion – Kann ich benutzerdefinierte Funktionen in PHP-Mitgliedsmethoden schreiben?

Aber ich habe eine andere Methode, die auch Funktionen schreibt und eine Rekursion durchführt, aber es wird kein Fehler gemeldet.

Rekursion – Kann ich benutzerdefinierte Funktionen in PHP-Mitgliedsmethoden schreiben?

Dies ist die Schnittstelle zum Aufrufen dieser beiden Methoden

Rekursion – Kann ich benutzerdefinierte Funktionen in PHP-Mitgliedsmethoden schreiben?

Warum wird ein Fehler gemeldet? Kann es jemand erklären oder einen guten Weg finden, damit umzugehen

Warum schreiben Sie Ihre benutzerdefinierte Funktion nicht als Mitgliedsmethode in der Klasse?

Vielen Dank, der Fehler, den Sie hier gemeldet haben, liegt daran, dass Sie die getTree-Funktion an anderen Stellen definiert haben.

Es gibt auch einen besseren PHP-Abschluss, der wahrscheinlich wie folgt lautet:

<code>class Test{
    public function index(){

        $hello_closures = function ($str){
            echo $str;
        };

        $hello_closures("hello , php closures function");
    }
}</code>
Nach dem Login kopieren

Hier finden Sie die offizielle Dokumentation, die leicht zu verstehen ist: http://php.net/manual/zh/func...

Die Fehlermeldung ist bereits offensichtlich. Sie können die getTree-Funktion nicht wiederholt definieren. Sie haben sie bereits in LabelController definiert

Die Funktionen (keine Klassenmethoden) in PHP sind alle global, das heißt, egal, ob Sie sie global oder in einer Funktion definieren, sie werden als global betrachtet (das ist anders als in js, lassen Sie sich nicht verwirren). ).

PHP unterstützt keine Funktionsüberladung (dh keine doppelten Namen), daher ist eine wiederholte Deklaration von Funktionen nicht zulässig (wenn es um Überladung geht, kann es in Klassen implementiert werden, aber die Bedeutung ist völlig anders. Es fühlt sich an wie eine Fehlerbehandlungsfunktion, die aber der benutzerfreundlichen Anzeige dient, aber ich persönlich halte sie für nutzlos).

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage