對傳入的數組參數的欄位進行判斷

來源:互聯網
上載者:User
對傳入的數組參數的欄位進行判斷, 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. }
複製代碼
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.