Función PHP func_get_arg()

La función func_get_arg() es una función incorporada en PHP que se utiliza para obtener un valor mencionado del argumento pasado como parámetro.

Sintaxis:

mixed func_get_arg( int $arg )

Parámetros: Esta función acepta un solo parámetro como se mencionó anteriormente y se describe a continuación.

  • $arg: este parámetro contiene el desplazamiento del argumento donde el desplazamiento de los argumentos en el parámetro se cuenta asumiendo que el primer argumento es 0.

Valor devuelto: este método devuelve el argumento mencionado y devuelve FALSO si se produce un error.

Ejemplo 1:

<?php
  
// Function definition
function geeks($a, $b, $c) {
  
    // Calling func_get_arg() function  
    echo "Print second argument: "
        . func_get_arg(1) . "\n";
}
  
// Function call
geeks('hello', 'php', 'geeks');
  
?>

Producción:

Print second argument: php

¿Cuándo ocurre algún error?
El error se produce en dos casos.

  • Si el valor del desplazamiento del argumento es mayor que el valor real de los argumentos pasados ​​como parámetro de la función.
  • Si esta función no se llama desde dentro de la función definida por el usuario.
<?php
  
// Function definition
function geeks($a, $b, $c) {
  
    // Printing the sixth argument
    // that doesn't exist
    echo "Printing the sixth argument: "
        . func_get_arg(5) . "\n";
}
  
// Function call
geeks('hello', 'php', 'geeks');
  
?>

Producción:

Warning:  func_get_arg():  Argument 5 not passed to function in 
    [...][...] on line 4

Ejemplo:

<?php
  
// Function definition
function geeks($a, $b, $c) {
     $a = "Bye";
}
  
// Function call
geeks('hello', 'php', 'geeks');
  
// The func_get_arg() function
// is called from outside the
// user defined function
echo "Printing the sixth argument: "
        . func_get_arg(5) . "\n";
          
?>

Producción:

PHP Warning:  func_get_arg():  Called from the global scope - 
no function context in /home/main.php on line 9       

Para versiones anteriores a PHP 5.3: Obtener el argumento de una función tiene un enfoque diferente para las versiones de PHP anteriores a 5.3. Todas las versiones anteriores a 5.3 y 5.3 mostrarán un error para el siguiente código.

Ejemplo:

<?php
function geeks() {
    include './testing.inc';
}
  
geeks('Welcome', 'PHP', 'Geeks');
?>

pruebas.inc:

<?php
  
$parameter = func_get_arg(1);
var_export($parameter);
  
?>

Producción:

'PHP' warnings

Nota: Para obtener más de un argumento , se puede usar la función func_get_args() en lugar de la función func_get_arg() .

Publicación traducida automáticamente

Artículo escrito por support3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *