首頁 >後端開發 >PHP問題 >php傳參的方法有哪些?

php傳參的方法有哪些?

coldplay.xixi
coldplay.xixi原創
2020-07-22 15:45:124982瀏覽

php傳參的方法有:1、呼叫者直接傳參,無需對參數進行處理加工;2、把參數組合成一個數組的形式,整一個數組當做參數進行傳遞;3、傳遞一個資料結構物件當做參數。

php傳參的方法有哪些?

php傳參的方法有:

第一種

#直接傳參,每個參數一個個的排好隊寫上,例如:

php傳參的方法有哪些?

#優點:

  • 傳入的參數清晰,明確可以知道傳入參數有多少個,分別代表什麼意思,從語意上一目了然。

  • 呼叫方便,呼叫者直接傳參,無需對參數進行處理加工。

  • 對新手來說更友好,也更容易理解。

缺點:

  • 形參太多,程式碼失去了美感,太隨性了。

  • 當某個參數需要改動的時候,簡直是牽一發而動全身,例如$param5改為選填參數,並且預設值為test:

php傳參的方法有哪些?

缺點很明顯,這個時候由於php參數順序的問題,選填參數必須在最後,所以所有呼叫者都需要起碼把原來的param5去除,放在參數最後位置,改動代價高。

總結:當參數少的時候,可以使用直接一個個參數傳遞,這樣是最好的,但是當參數過多,或者改動需求大的時候,這種方法無疑是繁重的。

所以針對上面這種,當參數數量過多的時候,可以使用方法二:

#第二種

#把參數組合成一個陣列的形式,整一個陣列當做參數傳遞。例如:

php傳參的方法有哪些?

優點:

  • 程式碼更整齊了。

  • 程式碼比較靈活,現在就算有一個參數需要改動,也不需要修改函數的參數,只需要在呼叫者增加參數即可。

缺點:

  • 沒有了php的語法限制。例如沒有了string這種的型別限制,沒有了預設值的選填參數的語法限制。這樣子就需要你做多一層參數的檢查。

  • 參數可讀性差了。函數的陣列裡面有哪些參數是不能透過形參看出來的,需要查看呼叫者的陣列組成。

總結:整體來說這種方法可以解決第一種傳參方式的弊端,但是也自身帶來了更加大的弊端,參數的限制需要另外增加一層鉤子去處理,可以說是性價比比較低的一種方法。

綜合上面兩種方法的利弊,我總結出第三種傳參方式:

第三種

傳遞一個資料結構對象當做參數,例如:

php傳參的方法有哪些?

優點:

  • 參數為資料結構,保證資料的完整性。就是傳進來的資料結構必然能包含所需的參數。

  • 當參數需要更或減少的時候,只需要修改資料結構模型的物件屬性即可。

  • 把資料的控制和限制可以統一放在模型層來處理。

缺點:

  • 可能需要多個資料結構模型。

總結:整體來說這種方法可以比較全面的解決第一第二種方法的弊端,就是需要建立多種資料結構模型,增加了程式碼量。

相關學習推薦:PHP程式設計從入門到精通

#

以上是php傳參的方法有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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