php 命令行方式运行时 几种传入参数的方式

本文详细解析了PHP中通过URL方式传递参数的方法、系统内置变量的应用及系统函数getopt的使用,包括参数处理技巧、命令行参数解析等核心内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 -a array(1) { ["h"]=> string(2) "-a" } */ var_dump(getopt('h:a::')); //必选参数,如果参加之间有空格要加引号, 选项后面有空格也不会影响取值,会把他后面的值都当做参数的值 /** php song.php -asong array(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!");

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值