1. url方式
$param = array();if ($argc > 1) { parse_str ( $argv [1], $param ); foreach ( $param as $k => $v ) { echo "define $k=$v\n"; $param[$k] = $v; }}print_r($param);//运行示例php sync_t_search.php "name=sjk&city=bj"
2、系统内置变量
//当传入多个或多个参数可选时有很大的局限性$argv #0为当前执行的文件名$argc #参数个数
3、系统函数 getopt
//1、个人总结:如果只传一个参数,:(必选)/::(可选)都可 //2、如果传多个参数则要区分可选必选,建议尽量用可选参数并且后面的值不要传入空格//3、可选参数:标识符存在且有值时,下标才会存在 //4、必选参数:只要标识符存在,下标就会存在(如果取不到值为false)/** * php song.php -h"a b" || php song.php -h"a b" 不受空格影响(建议保持一致都不加空格)array(1) { ["h"]=> string(3) "a b"}php song.php -h -aarray(1) { ["h"]=> string(2) "-a"} */var_dump(getopt('h:a::')); //必选参数,如果参加之间有空格要加引号, 选项后面有空格也不会影响取值,会把他后面的值都当做参数的值/**php song.php -asongarray(1) { ["a"]=> string(4) "song"} */var_dump(getopt('a::h:')); //可选参数,参数必须紧跟在选项后面,否则获取不到
4、系统函数 getopt
//标准输出fwrite(STDOUT, "Enter your name: ");echo "\n";//标准输入$name = trim(fgets(STDIN));fwrite(STDOUT, "Hello, $name!");