/usr/bin/php /usr/local/www/demo/script.php -i 999 -c 10
在SSH中运行以上命令
PHP脚本文件
<?php /** * Created by PhpStorm. * User: buhuan * Date: 14-5-16 * Time: 下午2:11 */ var_dump($argv); $opts = getopt("i:c:"); var_dump($opts);
输出结果
array(5) { [0]=> string(30) "/usr/local/www/demo/script.php" [1]=> string(2) "-i" [2]=> string(3) "999" [3]=> string(2) "-c" [4]=> string(2) "10" } array(2) { ["i"]=> string(3) "999" ["c"]=> string(2) "10" }
附加解释
array getopt ( string $options [, array $longopts ] ) 解析传入脚本的选项。 参数 ¶ options 该字符串中的每个字符会被当做选项字符,匹配传入脚本的选项以单个连字符(-)开头。 比如,一个选项字符串 "x" 识别了一个选项 -x。 只允许 a-z、A-Z 和 0-9。 longopts 选项数组。此数组中的每个元素会被作为选项字符串,匹配了以两个连字符(--)传入到脚本的选项。 例如,长选项元素 "opt" 识别了一个选项 --opt。 options 可能包含了以下元素: 单独的字符(不接受值) 后面跟随冒号的字符(此选项需要值) 后面跟随两个冒号的字符(此选项的值可选) 选项的值是字符串后的第一个参数。它不介意值之前是否有空格。 Note: 选项的值不接受空格(" ")作为分隔符。 Note: options 和 longopts 的格式几乎是一样的,唯一的不同之处是 longopts 需要是选项的数组(每个元素为一个选项),而 options 需要一个字符串(每个字符是个选项)。 返回值 ¶ 此函数会返回选项/参数对,失败时返回 FALSE。 Note: 选项的解析会终止于找到的第一个非选项,之后的任何东西都会被丢弃。 $argv $argv — 传递给脚本的参数数组 说明 ¶ 包含当运行于命令行下时传递给当前脚本的参数的数组。 Note: 第一个参数总是当前脚本的文件名,因此 $argv[0] 就是脚本文件名。 Note: 这个变量仅在 register_argc_argv 打开时可用。