ReflectionFunction::invokeArgs
PHP Manual
PHP Manual»ReflectionFunction»ReflectionFunction::invokeArgs

ReflectionFunction::invokeArgs

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionFunction::invokeArgs — Invoca los argumentos de una función

Descripción

public function ReflectionFunction::invokeArgs(array $args): mixed

Invoca la función y le transmite los argumentos en forma de array.

Parámetros

args

Los parámetros a pasar a la función, como un array, de manera similar al funcionamiento de call_user_func_array().

Si todas las claves de args son numéricas, estas se ignoran y cada elemento se pasa a la función como argumento posicional, en orden.

Si alguna de las claves de args es una cadena, esos elementos se pasan a la función como argumentos con nombre, usando la clave como nombre.

Se lanza un Error si una clave numérica en args aparece después de una clave de cadena, o si una clave de cadena no coincide con el nombre de ningún parámetro de la función.

Valores devueltos

Retorna el resultado de la función invocada.

Historial de cambios

Versión Descripción
8.0.0 Las claves de args serán interpretadas como los nombres de los parámetros, en lugar de ser ignoradas silenciosamente.

Ejemplos

Ejemplo #1 Ejemplo con ReflectionFunction::invokeArgs()

<?php
function title($title, $name)
{
    return sprintf("%s. %s\r\n", $title, $name);
}

$function = new ReflectionFunction('title');

echo $function->invokeArgs(array('Dr', 'Phil'));
?>

El ejemplo anterior mostrará:

Dr. Phil

Ejemplo #2 Ejemplo para ReflectionFunction::invokeArgs() con referencias

<?php
function get_false_conditions(array $conditions, array &$false_conditions)
{
    foreach($conditions as $condition) {
       if(!$condition) {
          $false_conditions[] = $condition;
       }
    }
}

$function_ref = new ReflectionFunction('get_false_conditions');

$conditions       = array(true, false, -1, 0, 1);
$false_conditions = array();

$function_ref->invokeArgs(array($conditions, &$false_conditions));

var_dump($false_conditions);
?>

El ejemplo anterior mostrará:

array(2) {
  [0]=>
  bool(false)
  [1]=>
  int(0)
}

Notas

Nota:

Si la función tiene argumentos que necesitan ser referencias, entonces deben ser pasados por referencia en la lista de argumentos.

Véase también

To Top