phpでスクリプトを書く時に、実行時引数の利用方法を毎回検索してしまうのでまとめておく。
phpでの実行時引数については、「$argc」と「$argv」を使うことで利用できる。
<?php if ($argc < 3) { // $argc: 実行時引数の個数(実行したスクリプト名も含む) print 'More params needed'; exit(1); } print $argv[0]; // 実行されたスクリプト名 print $argv[1]; // 引数1 print $argv[2]; // 引数2
$argcという定数にはスクリプトに渡された引数の数、$argvという配列には渡された引数の各値が入っている。
ここで注意が必要なのは「$argcも$argvも実行されたスクリプトを含む」ということ。
例えば上のサンプルを「args.php」という名前のスクリプトにして、引数を渡して実行してみる。
$ php args.php 1 2 args.php12
このように、$argcは引数以外にもスクリプト自身も1として数えており、$argv[0]にはスクリプト名が入っていることがわかる。
何度かハマったので注意する。