我正在编写一个 php 代码,该代码旨在从 Unix 控制台运行,并带有几个可选开关。我在使脚本识别开关时遇到问题。
我以这种方式从控制台运行脚本
./<scriptname>.php v
希望在代码中会选择“v”开关,但似乎没有。这是用来拾取它的代码。
global $argv; // specified, but probably not needed
$verbose = array_key_exists("v", $argv); // should work but it doesn't!
// $verbose= isset($_GET["v"]); // tried, but doesn't work because it's run from console
但是尽管有线路var_dump($argv);
输出:
array(2) {
[0]=>
string(21) "./<scriptname>.php"
[1]=>
string(1) "v"
}
以下行echo "\nverbose: :$verbose:\n";
输出verbose: ::
(即false
)。
为什么 ?非常感谢!