php 命令行方式运行时 几种传入参数的方式
生活随笔
收集整理的這篇文章主要介紹了
php 命令行方式运行时 几种传入参数的方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. url方式
$param = array();if ($argc > 1) {parse_str ( $argv [1], $param );foreach ( $param as $k => $v ) {echo "define $k=$v\n";$param[$k] = $v;} }print_r($param);//運行示例 php sync_t_search.php "name=sjk&city=bj"?
2、系統內置變量
//當傳入多個或多個參數可選時有很大的局限性 $argv #0為當前執行的文件名 $argc #參數個數?
3、系統函數 getopt
//1、個人總結:如果只傳一個參數,:(必選)/::(可選)都可//2、如果傳多個參數則要區分可選必選,建議盡量用可選參數并且后面的值不要傳入空格 //3、可選參數:標識符存在且有值時,下標才會存在
//4、必選參數:只要標識符存在,下標就會存在(如果取不到值為false) /*** php song.php -h"a b" || php song.php -h"a b" 不受空格影響(建議保持一致都不加空格) array(1) {["h"]=>string(3) "a b" }php song.php -h -a array(1) {["h"]=>string(2) "-a" }*/ var_dump(getopt('h:a::')); //必選參數,如果參加之間有空格要加引號, 選項后面有空格也不會影響取值,會把他后面的值都當做參數的值/** php song.php -asong array(1) {["a"]=>string(4) "song" }*/ var_dump(getopt('a::h:')); //可選參數,參數必須緊跟在選項后面,否則獲取不到
?
4、系統函數 getopt
//標準輸出 fwrite(STDOUT, "Enter your name: "); echo "\n"; //標準輸入 $name = trim(fgets(STDIN)); fwrite(STDOUT, "Hello, $name!");?
?
總結
以上是生活随笔為你收集整理的php 命令行方式运行时 几种传入参数的方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android一些小技巧
- 下一篇: PHP: 深入pack/unpack