PHP:
コマンドライン引数の読み取り
How to (方法)
PHPでは$argv
と$argc
変数を使って引数にアクセスできます。例を見てみましょう。
<?php
// 引数のカウント
$numberOfArgs = $argc - 1; // 最初の引数はスクリプト名なので除外
echo "引数の数: " . $numberOfArgs . "\n";
// 引数の詳細を表示
foreach ($argv as $index => $arg) {
if ($index === 0) continue; // スクリプト名は飛ばす
echo "引数 " . $index . ": " . $arg . "\n";
}
?>
Terminalからこのスクリプトを実行するとこんな感じです。
$ php script.php 日本 Tokyo 2023
引数の数: 3
引数 1: 日本
引数 2: Tokyo
引数 3: 2023
Deep Dive (深掘り)
最初に、$argv
と$argc
が出てきたのはPHP 4.3.0バージョンからです。これらはフラグで有効にする必要がありましたが、PHP 5.3.0以降、デフォルトで使用可能になりました。
他の方法として、getopt
関数もあります。こちらはコマンドラインオプションをより詳細に解析します。
実装の上では、PHPはコマンドラインからスクリプトを呼び出すシェルに依存しています。$argv
は単にそのシェルから渡された文字列の配列です。