call_user_func
En esta página
call_user_func
Llama a una función de retorno proporcionada por el primer argumento
Descripción#
call_user_func(callable $callback, mixed ...$args): mixed
```php
Llama a una función de retorno `callback` proporcionada por el parámetro `callback` donde los otros argumentos serán pasados como argumentos.
## Parámetros
`callback`
La función de retorno a llamar.
`args`
`0` o más argumentos a pasar a la función de retorno.
> [!NOTE]
> Tenga en cuenta que los argumentos para `call_user_func` no son pasados por referencia.
>
> <div class="example">
>
> <div class="title">
>
> Ejemplo con `call_user_func` por referencia
>
> </div>
>
> ```
> <?php
> function increment(&$var)
> {
> $var++;
> }
>
> $a = 0;
> call_user_func('increment', $a);
> echo $a."\n";
>
> // es posible utilizar esto en su lugar
> call_user_func_array('increment', array(&$a));
> echo $a."\n";
>
> // también es posible utilizar funciones variables
> $increment = 'increment';
> $increment($a);
> echo $a."\n";
> ?>
>
>
> ```
>
> El ejemplo anterior mostrará:
>
> Warning: Parameter 1 to increment() expected to be a reference, value given in …
> 0
> 1
> 2
>
>
>
> </div>
## Valores devueltos
Retorna el valor retornado por la función de retorno.
## Ejemplos
Ejemplo con `call_user_func`
El ejemplo anterior mostrará:
Usted quiere un corte al tazón, ningún problema
Usted quiere un corte con navaja, ningún problema
Ejemplo con `call_user_func` utilizando un espacio de nombres
El ejemplo anterior mostrará:
¡Hola mundo!
¡Hola mundo!
Uso de un método de clase con `call_user_func`
El ejemplo anterior mostrará:
¡Hola!
¡Hola!
¡Hola!
Uso de una función lambda con `call_user_func`
```php
El ejemplo anterior mostrará:
[test]
Notas#
[!NOTE] Las devoluciónes de llamada registradas con funciones como
call_user_funcycall_user_func_arrayno serán llamadas si una excepción no es interceptada cuando ha sido lanzada en una función de devolución de llamada anterior.
Véase también#
call_user_func_array, is_callable, Funciones variables, ReflectionFunction::invoke, ReflectionMethod::invoke