android运行时权限怎么改_PHP在cli下运行时怎么输入指令与程序交互?

通常情况下是在执行命令时输入参数,在程序运行当中怎么输入命令呢?我们可以修改文件/Redis/MySQL的内容,PHP轮询查询它们的内容来决定运行不同的程序流程,但这样太麻烦了,我们是可以直接在控制台的屏幕中输入内容交给程序的,下面我们来看看PHP在CLI模式下运行时的三种获取参数方式。

一、变量$argv

<?php //文件名:demo.phpvar_dump($argv);

在控制台执行:

php demo.php aaa bbb ccc

输出:

array(4) {        [0]=>  string(10) "demo.php"        [1]=>  string(3) "aaa"        [2]=>  string(3) "bbb"        [3]=>  string(3) "ccc"}

二、函数getopt()

<?php //文件名:demo.php$options = getopt('a:b:', ['c:', 'd::']);var_dump($options);

在控制台执行:

php demo.php -aaa -bbb --c="cc" --d="dd"

输出:

array(4) {        ["a"]=>  string(2) "aa"        ["b"]=>  string(2) "bb"        ["c"]=>  string(2) "cc"        ["d"]=>  string(2) "dd"}

三、文件句柄STDIN

<?php //文件名:demo.phpdo {    echo '您想输入啥:';    $str = fgets(STDIN);//获取一行字符(包含末尾回车符)    if(preg_match('/\s*exit\s*/i', $str)){        exit("Byby!\r\n");    }    echo '您输入了:' . $str;    echo "==============================\r\n";}while(true);

fgets() 函数从文件指针中读取一行。具体查阅PHP文档

STDIN: 只读,可以拿到在控制台下输入的内容,fgets读取这个STDIN文件句柄,即可打印出刚才输入的内容;

STDOUT: 只写,用于向控制台输出正常信息;

STDERR: 只写,用于向控制台输出错误信息;

在控制台执行:

php demo.php

会提示你输入内容,输入内容后按回车即表示完成输入,之后会打印出你输入的内容。如果你输入的是exit则会退出程序的运行。这里写了一个死循环,你可以按 ctrl+c退出程序,也可以输入exit+回车退出程序,前者是控制台自带的特性,后者是程序中实现的。使用STDIN的方法程序是会等待的,直到你输入回车才会继续运行。使用这种方式,你的程序就可以在运行中与用户进行互动了。

3ef55c15bd2822785402251112085ff2.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值