PHP命令行脚本接收传入参数的三种方式

通常PHP都做http方式请求了,可以使用GET、POST…方式接收参数,有些时候需要在shell命令下把PHP当作脚本执行,比如定时任务。这就涉及到在shell命令下如何给php传参的问题,通常有三种方式传参。

创建test.php文件

一、使用$argv$argc参数接收

<?php

/**
 * 使用 $argc $argv 接受参数
 */
var_dump($argc,$argv);

终端输入,然后回车

php test.php a b 1 2

输出

int(5)
array(5) {
  [0]=>
  string(8) "test.php"
  [1]=>
  string(1) "a"
  [2]=>
  string(1) "b"
  [3]=>
  string(1) "1"
  [4]=>
  string(1) "2"
}

可以发现命令php后面全部都被收集为参数了

二、使用getopt函数(推荐使用这种方法)

注意:短变量名称只能是字母

<?php

/**
 * 使用 getopt函数
 */
$param_arr = getopt('a:b:',['c::','d::']);
var_dump($param_arr);

终端输入,然后回车

php test.php -a123 -b456 --c=789 --d=abc
//或者
php test.php -a 123 -b 456 --c=789 --d=abc
//或者
php test.php -a=123 -b=456 --c=789 --d=abc

输出

array(4) {
  ["b"]=>
  string(3) "123"
  ["a"]=>
  string(3) "456"
  ["c"]=>
  string(3) "789"
  ["d"]=>
  string(3) "abc"
}

具体使用方法参考函数getopt()

三、提示用户输入

<?php

/**
 * 提示用户输入,类似Python
 */
fwrite(STDOUT,'please input:');
echo 'your input is:'.fgets(STDIN);

终端输入,然后回车

php test.php
please input:1
your input is:1
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值