ホームページ  >  記事  >  バックエンド開発  >  PHP は関数内に必要なパラメータが存在するかどうかを判断します

PHP は関数内に必要なパラメータが存在するかどうかを判断します

墨辰丷
墨辰丷オリジナル
2018-05-18 11:54:372793ブラウズ

この記事では、関数がパラメータを渡さなければならないかどうかを確認する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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。