Funciones de Opciones/Info de PHP
PHP Manual

getopt

(PHP 4 >= 4.3.0, PHP 5)

getoptObtiene las opciones de la lista de argumentos de la línea de comandos

Descripción

array getopt ( string $options [, array $longopts ] )

Analiza las opciones pasadas al script.

Parámetros

options
Cada carácter de esta cadena de texto se usará como un carácter de opción y se comparará con aquellas opciones pasadas al script que comiencen con un guión simple (-). Por ejemplo, el string de opciones "x" reconocerá la opción -x. Sólo se permiten a-z, A-Z y 0-9.
longopts
Matriz de opciones. Cada elemento de este array se usará como texto de opciones y se compararán con aquellas opciones pasadas al script que comiencen con dos guiones (--). Por ejemplo, longopts tuviera un elemento con "opt", reconocería la opción --opt.

El parámetro options puede contener los siguientes elementos:

Los valores de opción serán el primer argumento tras el string. No importa si el valor está rodeado de espacios o no.

Nota: Los valores opcionales no aceptan un " " (espacio) como separador.

Nota:

El formato de options y de longopts es casi igual. La única diferencia es que longopts contiene un array de opciones (donde cada elemento es la opción) mientras que options contiene un string (donde cada carácter es la opción).

Valores devueltos

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.

Historial de cambios

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.

Ejemplos

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)
}

Ver también


Funciones de Opciones/Info de PHP
PHP Manual