コマンドライン引数の読み取り

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は単にそのシェルから渡された文字列の配列です。

See Also (参照)