php檢查函數(shù)必傳參數(shù)是否存在的實例詳解
php檢查函數(shù)必傳參數(shù)是否存在的實例詳解
在php實際編程中,接口經(jīng)常會接收到前端傳來的參數(shù),其中有些參數(shù)不是必傳的,有些參數(shù)是必傳的,如何“檢查函數(shù)必傳參數(shù)是否存在”呢?為了解決該問題,可以參考以下的示例方法:
/** * @brief 檢測函數(shù)必傳參數(shù)是否存在 * @param $params array 關(guān)聯(lián)數(shù)組 要檢查的參數(shù) * @param array $mod array 索引數(shù)組 要檢查的字段 * @param array $fields array 索引數(shù)組 額外要檢查參數(shù)的字段 * @return bool * @throws Exception */ private function checkParamsExists($params, $mod = [], $fields = []) { if (empty($params)) { throw new \Exception(Error::ERROR_INVALID_PARAMETER_MSG . ',[checkParamsExists] the array of params is empty', Error::ERROR_INVALID_PARAMETER_CODE); } $params = is_array($params) ? $params : [$params]; if ($fields) { $fields = array_flip($fields); $params = array_merge($params, $fields); } foreach ($mod as $mod_key => $mod_value) { if (!array_key_exists($mod_value, $params)) { throw new \Exception(Error::ERROR_INVALID_PARAMETER_MSG . ',[checkParamsExists]' . json_encode($params) . ' do not have key field(' . $mod_value . ')', Error::ERROR_INVALID_PARAMETER_CODE); } } return true; }
在實際應(yīng)用時,于應(yīng)用程序邏輯的開始處,直接調(diào)用該方法即可。
注意:其中的錯誤碼為我自定義的錯誤碼,使用時務(wù)必改成你自己的。
以上就是php檢查函數(shù)必傳參數(shù)是否存在的實例詳解,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- php函數(shù)間的參數(shù)傳遞(值傳遞/引用傳遞)
- php 獲取可變函數(shù)參數(shù)的函數(shù)
- php定義一個參數(shù)帶有默認值的函數(shù)實例分析
- php指定函數(shù)參數(shù)默認值示例代碼
- php定義參數(shù)數(shù)量可變的函數(shù)用法實例
- php 函數(shù)使用可變數(shù)量的參數(shù)方法
- javascript,php獲取函數(shù)參數(shù)對象的代碼
- php函數(shù)與傳遞參數(shù)實例分析
- php可變長參數(shù)處理函數(shù)詳解
- PHP5.6新增加的可變函數(shù)參數(shù)用法分析
- PHP實現(xiàn)動態(tài)獲取函數(shù)參數(shù)的方法示例
相關(guān)文章
php使用goto實現(xiàn)自動重啟swoole、reactphp、workerman服務(wù)的代碼
這篇文章主要介紹了php使用goto實現(xiàn)自動重啟swoole、reactphp、workerman服務(wù)的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04thinkPHP5框架auth權(quán)限控制類與用法示例
這篇文章主要介紹了thinkPHP5框架auth權(quán)限控制類與用法,結(jié)合實例形式分析了thinkPHP5框架擴展auth權(quán)限控制類的定義與使用方法,代碼注釋中備有較為詳盡的使用說明與數(shù)據(jù)庫操作語句,需要的朋友可以參考下2018-06-06php實現(xiàn)兼容2038年后Unix時間戳轉(zhuǎn)換函數(shù)
這篇文章主要介紹了php實現(xiàn)兼容2038年后Unix時間戳轉(zhuǎn)換函數(shù),使用方法和就的函數(shù)一樣,非常實用,推薦給大家,希望大家能夠喜歡。2015-03-03Zend Framework教程之Zend_Db_Table_Row用法實例分析
這篇文章主要介紹了Zend Framework教程之Zend_Db_Table_Row用法,詳細講述了Zend_Db_Table_Row的功能,并結(jié)合實例形式詳細分析了Zend_Db_Table_Row操作數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下2016-03-03PHP快速按行讀取CSV大文件的封裝類分享(也適用于其它超大文本文件)
這篇文章主要介紹了一個PHP快速按行讀取CSV大文件的封裝類,這個類同時也適用于其它體積較大的文本文件,需要的朋友可以參考下2014-04-04