概要
getopt ( string $options [, array $longopts ] )
詳細
getopt はコマンドライン引数のリストからオプションを取得します。
$optionsmの指定は、
- 単一文字 => 値を受け付けない
- 単一文字+コロン1個 => 値を受け付け、必須
- 単一文字+コロン2個 => 値を受け付け、オプション
詳細はサンプルにて。
サンプル
#!/usr/bin/env php <?php $options = getopt("a:b::c"); print_r($options); foreach (array('a', 'b', 'c') as $key) { print_r($key.' exists? = '.array_key_exists($key, $options)."\n"); }
出力
全て値を指定した場合
c だけ値が読み捨てられました
$ php ./get_opts.php -a=1 -b=2 -c=3 Array ( [a] => 1 [b] => 2 [c] => ) a exists? = 1 b exists? = 1 c exists? = 1
全て値を省略した場合
bオプションがaの値として設定されてしまいました
dsd@dsd:~/work/php$ php ./get_opts.php -a -b -c Array ( [a] => -b [c] => ) a exists? = 1 b exists? = c exists? = 1