Forum und email

getopt

(PHP 4 >= 4.3.0, PHP 5)

getopt — Obtiene opciones de la lista de argumentos desde la línea de comandos

Descripción

array getopt ( string $opciones [, array $opciones_largas ] )

Procesa las opciones pasadas al script.

Lista de parámetros

opciones
Cada caracter en esta cadena será usado como caracter de opción y será comparado con las opciones pasadas al script que comiencen con un guión sencillo (-). Por ejemplo, una cadena de opción "x" reconoce una opción -x.
opciones_largas
Una matriz de opciones. Cada elemento en esta matriz será usado como cadena de opción y comparado con opciones pasadas al script que comiencen con dos guiones (--). Por ejemplo, un elemento "opc" reconoce una opción --opc.

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:

  • Caracteres individuales (no aceptan valores)
  • Caracteres seguidos por dos-puntos (el parámetro requiere un valor)
  • Caracteres seguidos por dos dos-puntos (valor opcional)
Los valores de opción son el primer argumento después de la cadena. No importa si un valor es precedido por espacios en blanco o no.

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

Valores retornados

Esta función devolverá una matriz de parejas opción / argumento o FALSE en caso de fallo.

Registro de cambios

Versión Descripción
5.3.0 Esta función ya no es dependiente del sistema, y trabaja también en Windows.

Ejemplos

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

Notes

Note: La opción register_argc_argv debe estar habilitada para que esta función trabaje correctamente


ttp://www.google-analytics.com/urchin.js" type="text/javascript">