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)文章
網(wǎng)頁游戲開發(fā)入門教程二(游戲模式+系統(tǒng))
網(wǎng)頁游戲開發(fā)入門教程二(游戲模式+系統(tǒng))2009-11-11
Laravel框架實現(xiàn)model層的增刪改查(CURD)操作示例
這篇文章主要介紹了Laravel框架實現(xiàn)model層的增刪改查(CURD)操作,結(jié)合實例形式分析了Laravel框架模型model層進行數(shù)據(jù)庫的增刪改查操作具體實現(xiàn)技巧,需要的朋友可以參考下2018-05-05

