(PHP 4 >= 4.3.0, PHP 5)
getopt — Obtiene las opciones de la lista de argumentos de la línea de comandos
$options
   [, array $longopts
  ] )Analiza las opciones pasadas al script.
optionslongopts
   El parámetro options puede contener los siguientes
   elementos:
   
Nota: Los valores opcionales no aceptan un " " (espacio) como separador.
Nota:
El formato de
optionsy delongoptses casi igual. La única diferencia es quelongoptscontiene un array de opciones (donde cada elemento es la opción) mientras queoptionscontiene un string (donde cada carácter es la opción).
   Esta función devolverá un array de pares 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 longoptsestá 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()
<?php
$options = getopt("f:hp:");
var_dump($options);
?>
El ejecutar el script superior con php script.php -fvalue -h se mostrará:
array(2) {
  ["f"]=>
  string(5) "value"
  ["h"]=>
  bool(false)
}
Ejemplo #2 Ejemplo 2 de getopt()
<?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);
?>
Al ejecutar el script superior con php script.php -f "value for f" -v -a --required value --optional="optional value" --option se obtendrá:
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 3 de getopt()
Pasando múltiples opciones como una
<?php
$options = getopt("abc");
var_dump($options);
?>
Al ejecutar el script superior con php script.php -aaac se obtendrá:
array(2) {
  ["a"]=>
  array(3) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
  }
  ["c"]=>
  bool(false)
}