php cli接收参数,php cli 参数的传递

第一种:使用 $argv

print_r($argv);

?>

效果:

[root@mingming-dev cmdphp]# php index.php -a hello -b lazy

Array

(

[0] => index.php

[1] => -a

[2] => hello

[3] => -b

[4] => lazy

)

但是这种做法对于简单的是可以进行参数的传递,但是很容易出现问题,这就好像只是指明了value,但是确没有指明对于的key,时间一长就很难记得到底应该如何调用了,所有只有在需求简单的环境下才推荐使用这种用法。

第二种:使用STDOUT 和STDIN

这种做法很类似在C++语言中首先声明了输入输出流~好比cout和cin,这种场景比较适合于有交互性细节的操作:

fwrite(STDOUT, "Enter your name: ");

$name = trim(fgets(STDIN));

fwrite(STDOUT, "Hello, $name!");

?>

效果:

[root@mingming-dev cmdphp]# php index.php

Enter your name: lazypeople

Hello, lazypeople!

第三种:使用get_opt()

这个也是最牛逼的做法了,因为可以指定key和value。]

代码:

$shortopts = "";

$shortopts .= "f:"; // Required value

$shortopts .= "v::"; // Optional value

$shortopts .= "abc"; // These options do not accept values

$longopts = array(

"required:", // Required value

"optional::", // Optional value

"option", // No value

"opt", // No value

);

$options = getopt($shortopts, $longopts);

var_dump($options);

?>

效果:

[root@mingming-dev cmdphp]# php index2.php -f "value for f" -v -a --required value --optional="optional value" --option will

array(6) {

["f"]=>

string(11) "value for f"

["v"]=>

bool(false)

["a"]=>

bool(false)

["required"]=>

string(5) "value"

["optional"]=>

string(14) "optional value"

["option"]=>

bool(false)

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值