您的位置:首页 > 编程语言 > PHP开发

命令行向Php传递参数的两种方式

2016-01-24 23:37 896 查看


第一种:getopt()

php中的getopt是用来接收参数时用的,用法举例:paramtest.php
<?php

$options = getopt('a:b:c:');

var_dump($options)

命令行测试:
bash-3.2# php paramtest.php -a 1 -b 2 -c 3
array(3) {
'a' =>
string(1) "1"
'b' =>
string(1) "2"
'c' =>
string(1) "3"
}
bash-3.2# php paramtest.php -a 1 -b 2 -c 3 -d 4
array(3) {
'a' =>
string(1) "1"
'b' =>
string(1) "2"
'c' =>
string(1) "3"
}

当在getopt中注册的参数不存在时,php程序是不会接收的。


第二种:argvorargc参数接收

argv是接收的参数数组,argc是接收的参数的个数,举例:
bash-3.2# php paramtest.php -a 1 -b 2 -c 3 -d 4
参数的个数:9
Array
(
[0] => paramtest.php
[1] => -a
[2] => 1
[3] => -b
[4] => 2
[5] => -c
[6] => 3
[7] => -d
[8] => 4
)

注:php执行的文件会默认成为argv的第一个参数
俩变量仅在 register_argc_argv 打开时可用


第三种:提示用户输入

程序如下:
<?php

fwrite(STDOUT, '请输入信息:');

echo '您输入的信息是:'.fgets(STDIN);

测试:
bash-3.2# php paramtest.php
请输入信息:hello world
您输入的信息是:hello world
bash-3.2#


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: