首頁 >後端開發 >PHP問題 >如何向php腳本傳遞參數

如何向php腳本傳遞參數

(*-*)浩
(*-*)浩原創
2019-09-10 14:52:334892瀏覽

如何向php腳本傳遞參數

方法一使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:如何寫php程式下一篇:如何寫php程式