Getopt() は、
2つの形式のオプションをサポートしています。すなわち、
短いオプション(short options
)と
長いオプション(long options
)です。
長短オプションをつけてスクリプトをコールする
# 短いオプションを使う。myphpscript
-q -l en -o
# 替わって長いオプションを使う。myphpscript
--quite --lang=en --option
# 両方を混ぜる。myphpscript
-q --lang=en -o
サポートするオプションを定義する必要があります。 getopt() の第2引数には、 すべてのサポートする文字を渡します。 上記の例では、最小限、以下のとおりとなります。
<?php
$shortoptions = "qlo";
?>
文字の順番は重要ではありません。パラメータを伴うオプションを 定義する必要がある場合もあります。あるオプションがパラメータを 伴うことを表すには、コロン (:) を付加します。 パラメータの付加が任意のときは、コロンを2つにします。 例を示します。
<?php
$shortoptions = "ql:o::";
?>
この場合、以下のようにスクリプトをコールできます。
-q
myphpscript -q -l en
myphpscript -o text
myphpscript -o
一方、
-l
とは、できません。-l
オプションは、
与えられた場合には必ず
長いオプションも同様に動作しますが、配列で定義します。
<?php
$longoptions = array("quite", "lang", "option");
?>
パラメータ付加を定義するには、短いオプションと同じように
'='
および '=='
を使います。
<?php
$longoptions = array("quite", "lang=", "option==");
?>
返り値は、 パースされたオプションと、非オプションのコマンドライン引数の 2つの要素からなる配列となります。 パースされたオプション内の各項目もまた、2つの要素からなります。 1つ目はオプションを示します。2つ目は付加されたパラメータを示しますが、 付加無しの場合は、NULL となります。