(PHP 4, PHP 5)
func_num_args — Returns the number of arguments passed to the function
Gets the number of arguments passed to the function.
This function may be used in conjunction with func_get_arg() and func_get_args() to allow user-defined functions to accept variable-length argument lists.
Returns the number of arguments passed into the current user-defined function.
Wersja | Opis |
---|---|
5.3.0 | This function can now be used in parameter lists. |
5.3.0 | If this function is called from the outtermost scope of a file which has been included by calling include() or require() from within a function in the calling file, it now generates a warning and returns -1. |
Generates a warning if called from outside of a user-defined function.
Przykład #1 func_num_args() example
<?php
function foo()
{
$numargs = func_num_args();
echo "Number of arguments: $numargs\n";
}
foo(1, 2, 3);
?>
Powyższy przykład wyświetli:
Number of arguments: 3
Przykład #2 func_num_args() example before and after PHP 5.3
test.php
<?php
function foo() {
include './fga.inc';
}
foo('First arg', 'Second arg');
?>
fga.php
<?php
$num_args = func_num_args();
var_export($num_args);
?>
Output previous to PHP 5.3:
2
Output in PHP 5.3 and later:
Warning: func_num_args(): Called from the global scope - no function context in /home/torben/Desktop/code/ml/fga.inc on line 3 -1
Informacja: Jako że działanie tej funkcji zależy od aktualnego zasięgu, nie może ona być użyta jako parametr funkcji. Jeśli konieczne jest przekazanie tej wartości, należy przypisać wynik działania tej funkcji do zmiennej, a następnie przekazać tę zmienną jako parametr.