Voy a explicar como crear una función con un número de parametros variable.
Esto es, una función se crea así:
function hola($arg1, $arg2) {
...
}
Pero alomejor necesitamos pasar muchas variables diferentes, y no nos apetece usar arrays, para esto crearemos la función, pero donde deben ir los parámetros, no pondremos nada.
function hola() {
...
}
Pero, ¡como saco mis variables!
Para esto podemos usar estas funciones:
func_num_args() -> Devuelve el número de argumentos enviados
func_get_args() -> Devuelve un array con los valores de los argumentos
func_get_arg($pos) -> Devuelve el valor del argumento en la posición $pos
Pongamos un ejemplo práctico, queremos comprobar que todas las variables sean númericas (int)
function son_numericas() {
$num = func_num_args();
echo 'Comprobando '.$num.' variables.<br>';
$primera = func_get_arg(0);
echo 'Empezamos por '.$primera.'<br>';
$args = func_get_args(); // Cogemos todos los argumentos
for($i=0;$i<$num;$i++) { // Recorremos el array generado con for
if(is_int($args[$i])) {
echo $args[$i].' es numerico.<br>';
} else {
echo $args[$i].' no es numerico.<br>';
} // cerramos if
} // cerramos for
} // cerramos la función
Salu2