getmyuid
getrusage
PHP Options/Info Functions
PHP Manual

# 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

getmyuid
getrusage
PHP Options/Info Functions
PHP Manual