PHP傳址呼叫、傳值呼叫、傳遞參考

常常看到函數前會加一個&符號,&到底是什麼意思?

例如

funcion &get_product_list ($department){
    $product_list = array();
    return $product_list;
}

$products = &get_product_list('rd')

這裡的加上&符號是什麼意思呢?查一下知道是用傳遞參考的方法呼叫函數。函數傳遞資料有三種方式:傳址呼叫(pass by adress)、傳值呼叫(pass by value)、傳遞參考(pass by reference)區別在哪裡呢?以下說明

& ->取址運算子

*->取值運算子

函數中資料的傳遞:傳值、傳址、傳參考
以下的說明是每種程式語言都通用的觀念,但不同程式語言有不同的語法,以及不同的程式語言不一定都支援全部的傳遞方式,要看你使用的是哪種程式語言。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料