(PHP 4 >= 4.3.0, PHP 5, PHP 7)
getopt — Obtiene las opciones de la lista de argumentos de la línea de comandos
$options
[, array $longopts
] ) : arrayAnaliza las opciones pasadas al script.
options
longopts
El parámetro options
puede contener los siguientes
elementos:
Nota: Los valores opcionales no aceptan un " " (espacio) como separador.
Nota:
El formato de
options
y delongopts
es casi igual. La única diferencia es quelongopts
contiene un array de opciones (donde cada elemento es la opción) mientras queoptions
contiene un string (donde cada carácter es la opción).
Esta función devolverá un array de parejas opciones / argumentos, o FALSE
en caso de error.
Nota:
El análisis de opciones finalizará cuando se encuentre alguna no-opción. Todo lo que haya a continuación será descartado.
Versión | Descripción |
---|---|
5.3.0 | Añadido soporte para usar "=" como separador de argumento/valor. |
5.3.0 | Añadido soporte para valores opcionales (especificado mediante "::"). |
5.3.0 |
El parámetro longopts está disponible en todos los sistemas.
|
5.3.0 | Esta función ya no depende del sistema y funciona también en Windows. |
Ejemplo #1 Ejemplo de getopt(): Lo básico
<?php
// Script example.php
$options = getopt("f:hp:");
var_dump($options);
?>
shell> php example.php -fvalue -h
El resultado del ejemplo sería:
array(2) { ["f"]=> string(5) "value" ["h"]=> bool(false) }
Ejemplo #2 Ejemplo de getopt(): Introducir opciones long
<?php
// Script example.php
$shortopts = "";
$shortopts .= "f:"; // Valor obligatorio
$shortopts .= "v::"; // Valor opcional
$shortopts .= "abc"; // Estas opciones no aceptan valores
$longopts = array(
"required:", // Valor obligatorio
"optional::", // Valor opcional
"option", // Sin valores
"opt", // Sin valores
);
$options = getopt($shortopts, $longopts);
var_dump($options);
?>
shell> php example.php -f "value for f" -v -a --required value --optional="optional value" --option
El resultado del ejemplo sería:
array(6) { ["f"]=> string(11) "value for f" ["v"]=> bool(false) ["a"]=> bool(false) ["required"]=> string(5) "value" ["optional"]=> string(14) "optional value" ["option"]=> bool(false) }
Ejemplo #3 Ejemplo de getopt(): Pasar varias opciones como una
<?php
// Script example.php
$options = getopt("abc");
var_dump($options);
?>
shell> php example.php -aaac
El resultado del ejemplo sería:
array(2) { ["a"]=> array(3) { [0]=> bool(false) [1]=> bool(false) [2]=> bool(false) } ["c"]=> bool(false) }