(PHP 4, PHP 5, PHP 7)
func_num_args — Devuelve el número de argumentos pasados a la función
Obtiene el número de argumentos pasados a la función.
Esta función se puede usar junto con func_get_arg() y func_get_args() para permitir a las funciones definidas por el usuario aceptar listas de argumentos de longitud variable.
Devuelve el número de argumentos pasados a la función actual definida por el usuario.
Versión | Descripción |
---|---|
5.3.0 | Esta función ahora se puede usar en listas de parámetros. |
5.3.0 | Si esta función es llamada desde el ámbito último de un fichero que ha sido incluido mediante una llamada a include o require desde dentro de una función en el fichero de llamada, ahora genera una advertencia y devuelve -1. |
Genera una advertencia si se llama desde fuera de una función definida por el usuario.
Ejemplo #1 Ejemplo de func_num_args()
<?php
function foo()
{
$númargs = func_num_args();
echo "Número de argumentos: $númargs\n";
}
foo(1, 2, 3);
?>
El resultado del ejemplo sería:
Número de argumentos: 3
Ejemplo #2 Ejemplo de func_num_args() antes y después de PHP 5.3
prueba.php
<?php
function foo() {
include './fna.php';
}
foo('Primer argumento', 'Segundo argumento');
?>
fna.php
<?php
$núm_args = func_num_args();
var_export($núm_args);
?>
Salida antes de PHP 5.3:
2
La salida en PHP 5.3 y posterior será algo similar a:
Warning: func_num_args(): Called from the global scope - no function context in /home/torben/Desktop/code/ml/fna.inc on line 3 -1
Nota:
Como esta función depende del ámbito actual para determinar los detalles del parámetro, no puede ser usada como parámetro de función en versiones anteriores a 5.3.0. Si se require pasar el valor, los resultados deben ser asignados a una variable y esta variable debería pasarse como parámetro.