命令行向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# 


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