詳細解析
java在命令行運行的時候要用到java命令:
java Test value1 value2
後面就是兩個參數,在main裡面args[]就是兩個長度的數組value1存在args[0]中,value2存在args[1]中。
args[0]存儲的是命令,其後才是參數!
在Java中有這樣一條語句:public static void main(String[] args)。其中的args是Java命令行參數,我們在DOS中執行Java程式的時候使用“java 檔案名稱 args參數”。args這個數組可以接收到這些參數。
linux 下php程式傳值時通過此函式獲取值
main(argc,argv)
int argc,char *argv[];
從函式參數的形式上看,包含一個整型和一個指針數組。當一個C的源程式經過編譯、連結後,會生成擴展名為.EXE的執行檔,這是可以在作業系統下直接運行的檔案,換句話說,就是由系統來啟動運行的。對main()函式既然不能由其它函式調用和傳遞參數,就只能由系統在啟動運行時傳遞參數了。
在作業系統環境下,一條完整的運行命令應包括兩部分:命令與相應的參數。其格式為:命令參數1參數2....參數
此格式也稱為命令行。命令行中的命令就是執行檔的檔案名稱,其後所跟參數需用空格分隔,並為對命令的進一步補充,也即是傳遞給main()函式的參數。
命令行與main()函式的參數存在如下的關係:設命令行為:program str1 str2 str3 str4 str5
其中program為檔案名稱,也就是一個由program.c經編譯、連結後生成的執行檔program.exe,其後各跟5個參數。對main()函式來說,它的參數argc記錄了命令行中命令與參數的個數,共6個,指針數組的大小由參數argc的值決定,即為char*argv[6],指針數組的取值情況如圖6-15所示。
數組的各指針分別指向一個字元串。應當引起注意的是接收到的指針數組的各指針是從命令行的開始接收的,首先接收到的是命令,其後才是參數。
舉例說明
String args[ ]或者String[ ] args表示給主方法傳一個字元串數組.
而args是一個字元串數組的變數名,不是關鍵字,
是arguments的縮寫,只是一個默認名,一般都習慣性照寫.
class Example{
public static void main(String args[ ]){
System.out.println("This is a simple Java program.");
}
}
linux下執行test.php 傳值為aaa
php test.php aaa
test.php代碼:
<?php
echo $args[1];
?>
結果為:aaa