寫過一篇關於PHP-CLI的文章 不會shell?咱用php啊!通常PHP都做http方式請求了,可以使用GET or POST方式接收參數,但是現在我們說的是命令行參數。PHP的命令行參數的使用方法共有兩種:
一、使用$argv 和$argc 參數進行接收
二、使用getopt函數進行接收
#!/usr/bin/php -q<?php//$args=getopt("n:s:a:");if($argc<2){ echo "請輸入參數,並重試\n";}else{ if($argv[1]=='-l'){ $args=getopt("n:s:a:"); echo "姓名:".$args['n']." 性別:".$args['s']." 年齡:".$args['a']."\n"; } } ?>
在上面的代碼中,我使用了兩種方式
先是判斷了是否包含參數,如果參數的第一項為"-l ",則進行getopt操作獲取nsa參數的值並進行輸出
結果如下:
第一行是不帶參數
第三行的參數形式與URL傳參基本上是一致的
第五行的參數形式與Shell 基本一致
第七行為第五行的簡寫,刪除了空格
第九行是為了跟第七行做個對比