如何正確實(shí)現(xiàn)PHP命令行讀取參數(shù)
PHP在參數(shù)的讀取上可以用多種方法來實(shí)現(xiàn),我們今天為大家介紹的是關(guān)于PHP命令行讀取參數(shù)的相關(guān)方法。希望對(duì)大家有所幫助。#t#
如果想實(shí)現(xiàn)PHP命令行讀取參數(shù),CLI可以從$_SERVER['argc']和$_SERVER['argv'']取得參數(shù)的個(gè)數(shù)和值。我們再建立一個(gè)文件,名字為testargs.php,腳本代碼如下:
- #!C:\php\php.exe –q
- < ?php
- //UNIX和Linux平臺(tái)下應(yīng)該為
#!/usr/local/bin/php –q - echo "測試獲取參數(shù):\n";
- echo $_SERVER["argc"]."\n";
- //顯示傳入的參數(shù)值,從索引1開始顯示
- echo $_SERVER["argv"][1]."\n";
- echo $_SERVER["argv"][2]."\n";
- echo $_SERVER["argv"][3]."\n";
- echo $_SERVER["argv"][4]."\n";
- ?>
在命令行輸入如下代碼:
C:\Users\John>testargs.php Always To Be Best
測試獲取參數(shù):
4
Always
To
Be
Best
因?yàn)槲覀冚斎肓艘淮畣卧~,為“Always To Be Best”,腳本參數(shù)以空格分隔。因此,PHP將其計(jì)為4個(gè)參數(shù),下面對(duì)此說明。
$_SERVER["argc"]數(shù)組返回一個(gè)整型的數(shù),代表從命令行上回車后一共輸入了幾個(gè)參數(shù)。
從PHP命令行讀取參數(shù)范例中的結(jié)果已經(jīng)看出,要訪問已經(jīng)傳入的參數(shù)值,需要從索引1開始。因?yàn)槟_本本身的文件已經(jīng)占用了索引0,即$_SERVER["argv"][0]。