最近在看《深入php物件導向,模式與實踐》這本書,P97有個案例把我弄糊塗了
案例是一個讀寫設定檔的工具。
function readParams($sourceFile){ $params = array(); //從$sourceFile中讀取文本參數,省略代碼 return $params;}function writeParams(**$params,$sourceFile**){ //寫入文本參數到$sourceFile,省略代碼}
然後是用戶端的代碼
$file = "./params.txt";$array['key1'] = "val1";$array['key2'] = "val2";$array['key3'] = "val3";**writeParams($array, $file);**//將數組寫入檔案$output = readParams($file);//從檔案讀取數組print_r($output);
疑問是writeParams()方法。為什麼後面參數寫的不一樣。我知道writeParams要傳的第一個參數是關聯陣列第二個參數是源檔案路徑。。但在第一段代碼裡參數寫成writeParams($params,$sourceFile)這是為什麼呢。。
回複內容:
最近在看《深入php物件導向,模式與實踐》這本書,P97有個案例把我弄糊塗了
案例是一個讀寫設定檔的工具。
function readParams($sourceFile){ $params = array(); //從$sourceFile中讀取文本參數,省略代碼 return $params;}function writeParams(**$params,$sourceFile**){ //寫入文本參數到$sourceFile,省略代碼}
然後是用戶端的代碼
$file = "./params.txt";$array['key1'] = "val1";$array['key2'] = "val2";$array['key3'] = "val3";**writeParams($array, $file);**//將數組寫入檔案$output = readParams($file);//從檔案讀取數組print_r($output);
疑問是writeParams()方法。為什麼後面參數寫的不一樣。我知道writeParams要傳的第一個參數是關聯陣列第二個參數是源檔案路徑。。但在第一段代碼裡參數寫成writeParams($params,$sourceFile)這是為什麼呢。。
有一種東西叫做。。。形參。。。
全稱為“形式參數”是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳遞的參數。
在一般傳值調用的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參值發生改變,而實參中的值不會變化。而在引用調用的機制當中是將實參引用的地址傳遞給了形參,所以任何發生在形參上的改變實際上也發生在實參變數上。
《形參》