(PHP 4 >= 4.3.0, PHP 5)
getopt — Obtiene opciones de la lista de argumentos desde la línea de comandos
Procesa las opciones pasadas al script.
Note: Antes de PHP5.3.0 este parámetro solo estaba disponible en unos pocos sistemas
El parámetro opciones puede contener los siguientes elementos:
Note: Los valores opcionales no aceptan " " (espacio) como separador.
Note: El formato para opciones y opciones_largas es casi el mismo, la única diferencia es que opciones_largas recibe una matriz de opciones (en donde cada elemento es la opción) mientras que opciones toma una cadena (en donde cada caracter es la opción).
Esta función devolverá una matriz de parejas opción / argumento o FALSE en caso de fallo.
Versión | Descripción |
---|---|
5.3.0 | Esta función ya no es dependiente del sistema, y trabaja también en Windows. |
Example#1 Ejemplo de getopt()
<?php
$opciones = getopt("f:hp:");
var_dump($options);
?>
Ejecutar el script anterior de este modo: php script.php -fvalor -h resultará en la siguiente salida:
array(2) { ["f"]=> string(5) "valor" ["h"]=> bool(false) }
Example#2 Ejemplo de getopt() #2
<?php
$opciones_cortas = "";
$opciones_cortas .= "f:"; // Valor requerido
$opciones_cortas .= "v::"; // Valor opcional
$opciones_cortas .= "abc"; // Estas opciones no aceptan valores
$opciones_largas = array(
"requerido:", // Valor requerido
"opcional::", // Valor opcional
"opcion", // Sin valor
"opc", // Sin valor
);
$opciones = getopt($opciones_cortas, $opciones_largas);
var_dump($opciones);
?>
Ejecutar el script anterior de este modo: php script.php -f "valor para f" -v -a --requerido valor --opcional="valor opcional" --opcion resultará en la siguiente salida:
array(6) { ["f"]=> string(12) "valor para f" ["v"]=> bool(false) ["a"]=> bool(false) ["requerido"]=> string(5) "valor" ["opcional"]=> string(14) "valor opcional" ["opcion"]=> bool(false) }
Example#3 Ejemplo de getopt() #3
Pasar múltiples opciones como una
<?php
$opciones = getopt("abc");
var_dump($opciones);
?>
Ejecutar el script anterior de este modo: php script.php -aaac resultará en la siguiente salida:
array(2) { ["a"]=> array(3) { [0]=> bool(false) [1]=> bool(false) [2]=> bool(false) } ["c"]=> bool(false) }
Note: La opción register_argc_argv debe estar habilitada para que esta función trabaje correctamente