php命令行处理参数

系统变量$argc/$argv

  • $argc 接收参数个数
  • $argv 接收具体参数
echo "参数总数为:".$argc."\n";
echo "具体参数为:\n";
var_dump($argv);

php test.php php linux 结果是:

参数总数为:3
具体参数为:
array(3) {
  [0]=>
  string(8) "test.php"  //第一个接收到的参数是当前执行的文件名
  [1]=>
  string(3) "php"
  [2]=>
  string(5) "linux"
}

系统函数 getopt()

/*
 * getopt参数说明
 * h自定义参数名,后面的:代表必选项,与后面值之间可以有空格分开
 * ::代表可选项,与值之间不允许有空格
 */
var_dump(getopt('h:a::'));

php test.php -h 123 -a 456 结果是:

array(2) {
  ["h"]=>
  string(3) "123"
  ["a"]=>
  bool(false)
}

php test.php -h 123 -a456 结果是:

array(2) {
  ["h"]=>
  string(3) "123"
  ["a"]=>
  string(3) "456"
}

你可能感兴趣的:(php命令行处理参数)