PHP命令列指令碼接收傳入引數的三種方式

語言: CN / TW / HK

通常PHP都做http方式請求了,可以使用GET or POST方式接收引數,有些時候需要在shell命令下把PHP當作指令碼執行,比如定時任務。這就涉及到在shell命令下如何給php傳參的問題,通常有三種方式傳參。

一、使用$argv or $argc引數接收

<?php
/**
 * 使用 $argc $argv 接受引數
 */
echo "接收到{$argc}個引數";
print_r($argv);

以下是測試的結果

二、使用getopt函式(推薦使用這種方法)

<?php
/**
 * 使用 getopt函式
 */
$param_arr = getopt('a:b:');
print_r($param_arr);

三、提示使用者輸入

<?php
/**
 * 提示使用者輸入,類似Python
 */
fwrite(STDOUT,'please input:');
echo 'your input is:'.fgets(STDIN);

使用者的輸入不能為空

<?php
/**
 * 提示使用者輸入,類似Python
 */

$fs = true;

do{
    if($fs){
        fwrite(STDOUT,'請輸入您的部落格名:');
        $fs = false;
    }else{
        fwrite(STDOUT,'抱歉,部落格名不能為空,請重新輸入您的部落格名:');
    }

$name = trim(fgets(STDIN));

}while(!$name);

echo '您輸入的資訊是:'.$name."\r\n";

以上內容希望幫助到大家,更多PHP大廠PDF面試文件,PHP進階架構視訊資料,PHP精彩好文免費獲取可以關注公眾號:PHP開源社群,或者訪問:

2021金三銀四大廠面試真題集錦,必看!

騰訊一面的Redis秒殺面試題你會麼?

四年精華PHP技術文章整理合集——PHP框架篇

四年精華PHP技術文合集——微服務架構篇

四年精華PHP技術文合集——分散式架構篇

四年精華PHP技術文合集——高併發場景篇

四年精華PHP技術文章整理合集——資料庫篇