命令列向php傳入參數的兩種方法_PHP教程

來源:互聯網
上載者:User
##$argv or $argc
$argv 包含當運行於命令列下時傳遞給當前指令碼的參數的數組。 $argv[0] 就是指令檔名。
$argc 包含當運行於命令列下時傳遞給當前指令碼的參數的數目。 指令碼的檔案名稱總是作為參數傳遞給當前指令碼,因此 $argc 的最小值為 1。
倆變數僅在 register_argc_argv 開啟時可用。

注意:$argv 和 $argc 在類方法或者函數內部 得聲明全域變數

phpclass A{    public static function b()    {        var_dump($argv);        var_dump(isset($argv));    }}A::b();
phpprintarg();function printarg(){global $argc,$argv;print($argc."個參數\n");print_r($argv);}


##getopt
array getopt ( string $options [, array $longopts ] )
options 該字串中的每個字元會被當做選項字元,匹配傳入指令碼的選項以單個連字號(-)開頭。 比如,一個選項字串 "x" 識別了一個選項 -x。 只允許 a-z、A-Z 和 0-9。 longopts 選項數組。此數組中的每個元素會被作為選項字串,匹配了以兩個連字號(--)傳入到指令碼的選項。 例如,長選項元素 "opt" 識別了一個選項 --opt。

options 可能包含了以下元素:
1.單獨的字元(不接受值)
2.後面跟隨冒號的字元(此選項需要值)
3.後面跟隨兩個冒號的字元(此選項的值可選)
選項的值是字串後的第一個參數。它不介意值之前是否有空格。


傳回值:
此函數會返回選項/參數對,失敗時返回 FALSE。


Note:
選項的值不接受空格(" ")作為分隔字元。
options 和 longopts 的格式幾乎是一樣的,唯一的不同之處是 longopts 需要是選項的數組(每個元素為一個選項),而 options 需要一個字串(每個字元是個選項)。
選項的解析會終止於找到的第一個非選項,之後的任何東西都會被丟棄。

http://www.bkjia.com/PHPjc/769342.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/769342.htmlTechArticle##$argv or $argc $argv 包含當運行於命令列下時傳遞給當前指令碼的參數的數組。 $argv[0] 就是指令檔名。 $argc 包含當運行於命令列下時傳遞給當...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.