首頁  >  文章  >  後端開發  >  php判斷函數中必傳參數是否存在

php判斷函數中必傳參數是否存在

墨辰丷
墨辰丷原創
2018-05-18 11:54:372788瀏覽

這篇文章主要介紹了php檢查函數必傳參數是否存在的實例詳解的相關資料,需要的朋友可以參考下

##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動態取得函數參數步驟詳解

JSON作為函數參數時應該如何使用

PHP實作動態取得函數參數的方法

以上是php判斷函數中必傳參數是否存在的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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