Heim  >  Artikel  >  Backend-Entwicklung  >  对传入的数组参数的字段进行判断

对传入的数组参数的字段进行判断

WBOY
WBOYOriginal
2016-07-25 08:47:32997Durchsuche
对传入的数组参数的字段进行判断, A、B、C是必须字段, D、E、F是可能有的字段,其他为一定不能有的字段
  1. /**
  2. * QUESTION : 对传入的数组参数$params的字段进行判断
  3. *
  4. * 1. A、B、C是必须字段
  5. * 2. D、E、F是可能有的字段
  6. * 3. 其他为一定不能有的字段
  7. *
  8. * @author yearnfar
  9. */
  10. //方法一:
  11. $must = array('A','B','C');
  12. $maybe = array('D','E','F');
  13. foreach($must as $key) {
  14. if (!isset($params[$key])) exit("{$key}必须!");
  15. }
  16. foreach($params as $key => $value) {
  17. if (!in_array($key, $must)) && in_array($key, $maybe)) {
  18. exit("{$key}非法!");
  19. }
  20. }
  21. //方法二:
  22. $fields = array('A' => 1,'B' => 1,'C' => 1,
  23. 'D' => 0,'E' => 0,'F' => 0);
  24. foreach ($params as $key => $value) {
  25. if (!isset($fields[$key])) {
  26. exit("{$key}非法!");
  27. } elseif ($fields[$key]>0) {
  28. $fields[$key] = 0;
  29. }
  30. }
  31. if (array_sum($fields)>0) {//或者 if (max($fields) > 0)
  32. exit("缺少必须字段");
  33. }
  34. //方法三:
  35. $fields = array();
  36. foreach ($params as $key => $value) {
  37. switch ($key) {
  38. case 'A':
  39. case 'B':
  40. case 'C':
  41. $fields[$key] = 0;
  42. break;
  43. case 'D':
  44. case 'E':
  45. case 'F':
  46. break;
  47. default:
  48. exit("{$key}非法!");
  49. }
  50. }
  51. if (count($fields)!=3) {
  52. exit("缺少必须字段");
  53. }
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn