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

第一种: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# 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章