繁体   English   中英

PHP验证命令行argv数组以获取一组命令选项

[英]PHP validating command line argv array for a set of command options

我正在用php做命令行脚本,并尝试开发验证命令集以查看它们是否在那儿,但是我不会使用以下代码进行任何软件,我不知道为什么它总是转到help()。如果我有像这样的argv选项

sh#php geninvoices.php --type=generate --w --bill_day=7


$commands=array('--type','--bill_day','--save');
if(!in_array($commands, $argv)){
    print_r($argv);
    help();
} 

有什么帮助吗?

只是为了展示想法

$argv = array('generate.php', '--type=generate', '--write', '--bill_day=7');
$args = array();
foreach($argv as $i => $str)
{
    if ($i == 0) continue;
    list($arg, $value) = explode('=', $str, 2);
    $args[ltrim($arg, '-')] = $value;
}

var_dump($args);

现在,您有了带有值的参数,并且您可以做任何您想做的事情。

array(3) {
  ["type"]=>
  string(8) "generate"
  ["write"]=>
  NULL
  ["bill_day"]=>
  string(1) "7"
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM