(PHP 4, PHP 5, PHP 7)
func_num_args — Liefert die Anzahl der an eine Funktion übergebenen Argumente
Ermittelt die Anzahl der an eine Funktion übergebenen Argumente.
Diese Funktion kann zusammen mit func_get_arg() und func_get_args() genutzt werden, um Funktionen mit einer variablen Anzahl von Argumenten zu implementieren.
Liefert die Anzahl der Argumente, die an die aufgerufene Funktion übergeben wurden.
Version | Beschreibung |
---|---|
5.3.0 | Diese Funktion kann nun auch in Parameterlisten genutzt werden. |
5.3.0 | Wird diese Funktion aus dem äußeren Geltungsbereich einer Datei aufgerufen, die durch den Aufruf von include oder require aus einer Funktion heraus inkludiert wurde, wird nun eine Warnung erzeugt, und -1 zurückgegeben. |
Die Funktion generiert eine Warnung, wenn sie von außerhalb einer benutzerdefinierten Funktion aufgerufen wird.
Beispiel #1 func_num_args() Beispiel
<?php
function foo()
{
$numargs = func_num_args();
echo "Anzahl der Argumente: $numargs\n";
}
foo(1, 2, 3);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Anzahl der Argumente: 3
Beispiel #2 func_num_args() Beispiel vor und nach PHP 5.3
test.php
<?php
function foo() {
include './fna.php';
}
foo('Erstes Argument', 'Zweites Argument');
?>
fna.php
<?php
$num_args = func_num_args();
var_export($num_args);
?>
Ausgabe vor PHP 5.3:
2
Die Ausgabe in PHP 5.3 und später ist ähnlich wie:
Warning: func_num_args(): Called from the global scope - no function context in /home/torben/Desktop/code/ml/fna.php on line 3 -1
Hinweis:
Da diese Funktion bei der Ermittlung der Parameterdetails von dem aktuellen Ausführungskontext abhängt, kann sie in PHP-Versionen vor 5.3.0 selbst nicht als Funktionsparameter genutzt werden. Wenn Sie ihre Ergebnisse tatsächlich weitergeben müssen, so müssen Sie diese zunächst einer Variablen zuweisen und dann diese Variable übergeben