Getopt() unterstützt zwei Arten von Optionen: knappe Optionen (short options ) und ausführliche Optionen (long options ).
Ein Skriptaufruf mit knappen und ausführlichen Optionen
# knappe Optionenmyphpscript -q -l en -o
# wie oben als ausführliche Optionenmyphpscript --quite --lang=en --option
# beide gemischtmyphpscript -q --lang=en -o
Sie müssen angeben, welche Optionen Sie unterstützen wollen. Der zweite Parameter der Methode getopt() benötigt eine Zeichenkette mit der Liste der unterstützen Zeichen. Für das obige Beispiel ist dies minimal:
<?php
$shortoptions = "qlo";
?>
Die Ordnung der Zeichen spielt keine Rolle. Häufig benötigen Sie Optionen mit (wahlfreien) Parametern. Um auszudrücken, dass eine Option einen Parameter erfordert, müssen Sie ein Doppelpunkt hinzufügen. Ist der Parameter wahlfrei, dann geben Sie zwei Doppelpunkte an, z.B.:
<?php
$shortoptions = "ql:o::";
?>
Damit sind z.B. die folgenden Skriptaufrufe erlaubt:
Dagegen ist der folgende Aufruf NICHT erlaubt:
Denn die Option -l erfordert einen Parameter, wenn die Option benutzt wird.
Die ausführlichen Optionen funktionieren identisch, ausser dass sie als Array definiert werden müssen:
<?php
$longoptions = array("quite", "lang", "option");
?>
Für die Definition wahlfreier Parameter benutzen Sie ein Istgleich = und ein doppeltes Istgleich == analog zu den Doppelpunkten der knappen Optionen:
<?php
$longoptions = array("quite", "lang=", "option==");
?>
Der zurückgelieferte Wert ist ein Array mit zwei Elementen: die Liste der verarbeiteten Optionen und die Liste der nicht-wahlfreien Kommandozeilen-Argumente. Jeder Eintrag in der Liste der verarbeiteten Optionen isr ein Paar von Elementen - das Erste gibt die Option an und das Zweite enthält das Argument der Option, wenn es übergeben wurde, ansonsten NULL.