Kann eine Funktion mehrere Rückgabewerttypen in PHP haben?

8

Gibt es eine Möglichkeit, dass meine PHP-Funktion einen anderen Werttyp zurückgibt? Der folgende Code sollte erklären, was ich meine:

%Vor%

Unter einer Bedingung gebe ich einen String zurück, ansonsten gebe ich einen booleschen Wert zurück. Ist das erlaubt / möglich?

    
Sunny 28.11.2011, 19:26
quelle

6 Antworten

14

Ja. PHP ist lose typisiert, so dass jede Variable einen beliebigen Typ annehmen kann. Funktionsrückgabewerte sind keine Ausnahme.

    
NikiC 28.11.2011 19:27
quelle
3

Ja, das ist möglich (aber nicht ratsam).

Sie sollten es zumindest in Ihrem Javadoc-Kommentar deklarieren

%Vor%

Sogar eingebaute PHP-Funktionen machen es manchmal (z. B. mysql_connect = & gt; boolescher | Ressourcen-Link)

    
konsolenfreddy 28.11.2011 19:38
quelle
0

Ja, das ist erlaubt, nicht wie in C, Java, ..., wo Sie die Rückgabe definieren müssen.

    
ninov 28.11.2011 19:29
quelle
0

Es ist erlaubt. Es ist jedoch nicht ratsam, in dem Fall, dass Sie gegeben haben. Für ein Beispiel, wo dies sinnvoll ist, schaue z.B. strpos () Funktion.

    
Amadan 28.11.2011 19:34
quelle
0

Ich frage mich selbst, warum etwas zurückgeben, das anders ist? Also bekommt das Empfangsende zwei Dinge zu überprüfen? Ich denke, ich habe mich darauf festgelegt, eine leere Version des Typs oder ein Array mit einem Statuselement selbst zurückzugeben.

Zwei Beispiele, wie sich Dinge innerhalb einer Funktion / Methode ändern können, und Sie sind grundsätzlich gezwungen, mehr als erwartet zu prüfen:

%Vor%

Version 2

%Vor%     
Mike Q 16.08.2017 20:40
quelle
-3
  

Ist das erlaubt / möglich?

Ja.

    
Alex Howansky 28.11.2011 19:28
quelle

Tags und Links