Kann eine PHP-Funktion viele vars zurückgeben?

7

Kann eine PHP-Funktion viele vars ohne Array zurückgeben?

Ich möchte so:

%Vor%

Wie kann ich auf $ a, $ b, $ c vars zugreifen?

    
sundowatch 10.05.2010, 14:55
quelle

8 Antworten

8

Anstelle eines Arrays könnten Sie ein assoziatives -Element verwenden und es auf ein Objekt anwenden, mit dem Sie auf die Elemente mit der -> -Objektsyntax zugreifen können:

%Vor%     
Heinzi 10.05.2010, 15:00
quelle
6
%Vor%     
Stefan Gehrig 10.05.2010 14:59
quelle
3

Erstellen Sie eine Klasse, die Ihre 3 Variablen enthält und eine Instanz der Klasse zurückgibt. Beispiel:

%Vor%

Natürlich sind die letzten 3 Zeilen nicht besonders effizient, weil a() dreimal aufgerufen wird. Ein sinnvolles Refactoring würde dazu führen, dass diese 3 Zeilen zu:

geändert werden %Vor%     
Asaph 10.05.2010 15:02
quelle
3
Thalaivar 10.05.2010 14:59
quelle
2

Wenn Sie auf diese Variablen so zugreifen möchten ( ohne ein Array zu verwenden ), sollten Sie besser eine Klasse verwenden:

%Vor%     
Cristian 10.05.2010 14:59
quelle
2

Sie könnten eine Klasse erstellen und stattdessen ein Objekt zurückgeben. Schauen Sie sich diese SO-Antwort für etwas an, das Sie vielleicht nützlich finden.

>     
Veeti 10.05.2010 15:00
quelle
1

Ja, das ist möglich, wenn die Rückgabevariable als ein Array oder eine lange Zeichenfolge mit mehreren Werten sein muss, die durch eines der Trennzeichen wie ", | #" usw. getrennt sind.

Wenn es als Array erstellt wird, können wir es mit der Funktion var_dump in PHP

erhalten

siehe unten Code

var_dump($array);

    
Prabhu M 10.05.2010 15:10
quelle
1

PHP-Handbuch & gt; Rückgabewerte :

  

Eine Funktion kann nicht mehrere Werte zurückgeben, aber ähnliche Ergebnisse können durch Rückgabe eines Arrays erhalten werden.

%Vor%

keine Notwendigkeit für Klassen hier.

    
ax. 10.05.2010 15:15
quelle

Tags und Links