php檢查函數必傳參數是否存在的實例詳解
在php實際編程中,接口經常會接收到前端傳來的參數,其中有些參數不是必傳的,有些參數是必傳的,如何“檢查函數必傳參數是否存在”呢?為了解決該問題,可以參考以下的示例方法:
/** * @brief 檢測函數必傳參數是否存在 * @param $params array 關聯數組 要檢查的參數 * @param array $mod array 索引數組 要檢查的字段 * @param array $fields array 索引數組 額外要檢查參數的字段 * @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; }
在實際應用時,于應用程序邏輯的開始處,直接調用該方法即可。
注意:其中的錯誤碼為我自定義的錯誤碼,使用時務必改成你自己的。
以上就是php檢查函數必傳參數是否存在的實例詳解,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。