方法一 使用argc、argv
$argc — 传递给脚本的参数数目
$argv — 传递给脚本的参数数组
<?php if ($argc > 1){ print_r($argv); }
在命令行下运行 /usr/local/php/bin/php ./getopt.php -f 123 -g 456(推荐学习:PHP编程从入门到精通)
# /usr/local/php/bin/php ./getopt.php -f 123 -g 456 Array ( [0] => ./getopt.php [1] => -f [2] => 123 [3] => -g [4] => 456 )
方法二 使用getopt函数()
array getopt ( string options[,arrayoptions[,arraylongopts [, int &$optind ]] )
参数解析:
options
该字符串中的每个字符会被当做选项字符,匹配传入脚本的选项以单个连字符(-)开头。 比如,一个选项字符串 “x” 识别了一个选项 -x。 只允许 a-z、A-Z 和 0-9。
longopts
选项数组。此数组中的每个元素会被作为选项字符串,匹配了以两个连字符(–)传入到脚本的选项。 例如,长选项元素 “opt” 识别了一个选项 –opt。
options 可能包含了以下元素:
单独的字符(不接受值) 后面跟随冒号的字符(此选项需要值) 后面跟随两个冒号的字符(此选项的值可选)
$options = "f:g:"; $opts = getopt( $options ); print_r($opts); php ./getopt.php -f 123 -g 456 运行结果: Array ( [f] => 123 [g] => 456 )
方法三 提示用户输入,然后获取输入的参数。有点像C语言
fwrite(STDOUT, "Enter your name: "); $name = trim(fgets(STDIN)); fwrite(STDOUT, "Hello, $name!");
stdout – 标准输出设备 (printf(“..”)) 同 stdout。
stderr – 标准错误输出设备
两者默认向屏幕输出。
但如果用转向标准输出到磁盘文件,则可看出两者区别。stdout输出到磁盘文件,stderr在屏幕。
在命令行下运行 /usr/local/php/bin/php ./getopt.php
运行结果
Enter your name: zhang //(zhang 为用户输入) Hello, zhang!
Atas ialah kandungan terperinci 如何向php脚本传递参数. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!