Unbegrenzte Argumente für die PHP-Funktion?

8

In PHP wie würden Sie eine Funktion erstellen, die eine unbegrenzte Anzahl von Parametern annehmen könnte: myFunc($p1, $p2, $p3, $p4, $p5...);

Meine nächste Frage ist: Wie würdest du sie in eine andere Funktion wie

geben? %Vor%

aber das anotherFunc würde sie so erhalten, als wäre es mit anotherFunc($p1, $p2, $p3, $p4, $p5...)

aufgerufen worden     
Hailwood 15.02.2011, 20:54
quelle

4 Antworten

13
%Vor%

func_get_args gibt ein Array zurück, das alle Argumente enthält, die an die Funktion übergeben wurden, von der es aufgerufen wurde, und call_user_func_array ruft eine gegebene Funktion auf und übergibt ihr ein Array von Argumenten.

    
mfonda 15.02.2011, 20:56
quelle
4

Zuvor sollten Sie func_get_args() verwendet haben, aber in einem neuen php 5.6 ( derzeit in der Betaversion ), können Sie ... operator anstelle von verwenden.

So können Sie zum Beispiel schreiben:

%Vor%

und $el haben alle Elemente, die Sie übergeben werden.

    
Salvador Dali 18.04.2014 23:39
quelle
2

Gibt es einen Grund, warum Sie nicht 1 Funktionsargument verwenden und alle Informationen als Array übergeben können?

    
Stoosh 15.02.2011 20:59
quelle
0

Sehen Sie sich die Dokumentation für Variablenlängen-Argumentlisten für PHP.

Der zweite Teil Ihrer Frage bezieht sich auf variable Funktionen :

  

... wenn einem Variablennamen Klammern angehängt sind, sucht PHP nach einer Funktion mit der   Der gleiche Name wie für die Variable ausgewertet wird und versucht wird, sie auszuführen.

    
JYelton 15.02.2011 20:59
quelle

Tags und Links