1. <?php
  2. /**
  3. * Verifies the integrity of user records against hard-coded limits.
  4. *
  5. * @param array $user_record An associative array containing user data.
  6. * @return bool True if the record is valid, false otherwise.
  7. */
  8. function verifyUserRecord(array $user_record): bool
  9. {
  10. // Hardcoded limits (example values)
  11. $max_usage_kwh = 500;
  12. $max_bill_amount = 200;
  13. $min_age = 18;
  14. // Validate usage
  15. if (!isset($user_record['usage_kwh']) || $user_record['usage_kwh'] > $max_usage_kwh) {
  16. error_log("Invalid usage: " . $user_record['usage_kwh'] . " exceeds limit of " . $max_usage_kwh);
  17. return false;
  18. }
  19. // Validate bill amount
  20. if (!isset($user_record['bill_amount']) || $user_record['bill_amount'] > $max_bill_amount) {
  21. error_log("Invalid bill amount: " . $user_record['bill_amount'] . " exceeds limit of " . $max_bill_amount);
  22. return false;
  23. }
  24. // Validate age
  25. if (!isset($user_record['age']) || $user_record['age'] < $min_age) {
  26. error_log("Invalid age: " . $user_record['age'] . " below minimum of " . $min_age);
  27. return false;
  28. }
  29. // Additional validation (example - optional)
  30. if (empty($user_record['username'])) {
  31. error_log("Invalid username: username is empty");
  32. return false;
  33. }
  34. return true; // Record is valid
  35. }
  36. // Example Usage (for testing)
  37. /*
  38. $user1 = [
  39. 'username' => 'john.doe',
  40. 'usage_kwh' => 450,
  41. 'bill_amount' => 180,
  42. 'age' => 25
  43. ];
  44. $user2 = [
  45. 'username' => 'jane.doe',
  46. 'usage_kwh' => 600, // Invalid usage
  47. 'bill_amount' => 250, // Invalid bill amount
  48. 'age' => 16, // Invalid age
  49. ];
  50. $user3 = [
  51. 'username' => 'peter.pan',
  52. 'usage_kwh' => 300,
  53. 'bill_amount' => 150,
  54. 'age' => 30
  55. ];
  56. if (verifyUserRecord($user1)) {
  57. echo "User 1 is valid.\n";
  58. } else {
  59. echo "User 1 is invalid.\n";
  60. }
  61. if (verifyUserRecord($user2)) {
  62. echo "User 2 is valid.\n";
  63. } else {
  64. echo "User 2 is invalid.\n";
  65. }
  66. if (verifyUserRecord($user3)) {
  67. echo "User 3 is valid.\n";
  68. } else {
  69. echo "User 3 is invalid.\n";
  70. }
  71. */
  72. ?>

Add your comment