方法一使用argc、argv
$argc — 傳遞給腳本的參數數量
$argv — 傳遞給腳本的參數數組
<?php if ($argc > 1){ print_r($argv); }
在命令列下運行/usr/local/php/bin/php ./getopt.php -f 123 -g 456(建議學習:PHP程式設計從入門到精通)
# /usr/local/php/bin/php ./getopt.php -f 123 -g 456 Array ( [0] => ./getopt.php [1] => -f [2] => 123 [3] => -g [4] => 456 )
方法二使用getopt函數()
array getopt ( string options[,arrayoptions[,arraylongopts [, int &$optind ]] )
參數解析:
options
該字串中的每個字符會被當作選項字符,匹配傳入腳本的選項以單一連字符(-)開頭。例如,一個選項字串 “x” 識別了一個選項 -x。只允許 a-z、A-Z 和 0-9。
longopts
選項陣列。此數組中的每個元素會被作為選項字串,並匹配了以兩個連字符(–)傳入到腳本的選項。例如,長選項元素 “opt” 識別了一個選項 –opt。
options 可能包含了以下元素:
单独的字符(不接受值) 后面跟随冒号的字符(此选项需要值) 后面跟随两个冒号的字符(此选项的值可选)
$options = "f:g:"; $opts = getopt( $options ); print_r($opts); php ./getopt.php -f 123 -g 456 运行结果: Array ( [f] => 123 [g] => 456 )
方法三 提示使用者輸入,然後取得輸入的參數。有點像C語言
fwrite(STDOUT, "Enter your name: "); $name = trim(fgets(STDIN)); fwrite(STDOUT, "Hello, $name!");
stdout – 標準輸出裝置 (printf(“..”)) 同 stdout。
stderr – 標準錯誤輸出裝置
兩者預設會輸出到螢幕。
但如果用轉向標準輸出到磁碟文件,則可看出兩者差異。 stdout輸出到磁碟文件,stderr在螢幕。
在命令列下執行 /usr/local/php/bin/php ./getopt.php
執行結果
Enter your name: zhang //(zhang 为用户输入) Hello, zhang!
以上是如何向php腳本傳遞參數的詳細內容。更多資訊請關注PHP中文網其他相關文章!