>백엔드 개발 >PHP 튜토리얼 >명령줄에서 PHP로 매개변수를 전달하는 두 가지 방법

명령줄에서 PHP로 매개변수를 전달하는 두 가지 방법

WBOY
WBOY원래의
2016-07-25 09:12:341138검색

##$argv or $argc
$argv 包含当运行于命令行下时传递给当前脚本的参数的数组。 $argv[0] 就是脚本文件名。
$argc 包含当运行于命令行下时传递给当前脚本的参数的数目。 脚本的文件名总是作为参数传递给当前脚本,因此 $argc 的最小值为 1。
俩变量仅在 register_argc_argv 打开时可用。

注意:$argv 和 $argc 在类方法或者函数内部 得声明全局变量

  1. class A
  2. {
  3. public static function b()
  4. {
  5. var_dump($argv);
  6. var_dump(isset($argv));
  7. }
  8. }
  9. A::b();
复制代码
  1. printarg();
  2. function printarg(){
  3. global $argc,$argv;
  4. print($argc."个参数n");
  5. print_r($argv);
  6. }
复制代码


##getopt
array getopt ( string $options [, array $longopts ] )
options 该字符串中的每个字符会被当做选项字符,匹配传入脚本的选项以单个连字符(-)开头。 比如,一个选项字符串 "x" 识别了一个选项 -x。 只允许 a-z、A-Z 和 0-9。 longopts 选项数组。此数组中的每个元素会被作为选项字符串,匹配了以两个连字符(--)传入到脚本的选项。 例如,长选项元素 "opt" 识别了一个选项 --opt。

options 可能包含了以下元素:
1.单独的字符(不接受值)
2.后面跟随冒号的字符(此选项需要值)
3.后面跟随两个冒号的字符(此选项的值可选)
选项的值是字符串后的第一个参数。它不介意值之前是否有空格。


返回值:
此函数会返回选项/参数对,失败时返回 FALSE。


Note:
选项的值不接受空格(" ")作为分隔符。
options 和 longopts 的格式几乎是一样的,唯一的不同之处是 longopts 需要是选项的数组(每个元素为一个选项),而 options 需要一个字符串(每个字符是个选项)。
选项的解析会终止于找到的第一个非选项,之后的任何东西都会被丢弃。



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.