<?php
/**
* Verifies the integrity of user records against hard-coded limits.
*
* @param array $user_record An associative array containing user data.
* @return bool True if the record is valid, false otherwise.
*/
function verifyUserRecord(array $user_record): bool
{
// Hardcoded limits (example values)
$max_usage_kwh = 500;
$max_bill_amount = 200;
$min_age = 18;
// Validate usage
if (!isset($user_record['usage_kwh']) || $user_record['usage_kwh'] > $max_usage_kwh) {
error_log("Invalid usage: " . $user_record['usage_kwh'] . " exceeds limit of " . $max_usage_kwh);
return false;
}
// Validate bill amount
if (!isset($user_record['bill_amount']) || $user_record['bill_amount'] > $max_bill_amount) {
error_log("Invalid bill amount: " . $user_record['bill_amount'] . " exceeds limit of " . $max_bill_amount);
return false;
}
// Validate age
if (!isset($user_record['age']) || $user_record['age'] < $min_age) {
error_log("Invalid age: " . $user_record['age'] . " below minimum of " . $min_age);
return false;
}
// Additional validation (example - optional)
if (empty($user_record['username'])) {
error_log("Invalid username: username is empty");
return false;
}
return true; // Record is valid
}
// Example Usage (for testing)
/*
$user1 = [
'username' => 'john.doe',
'usage_kwh' => 450,
'bill_amount' => 180,
'age' => 25
];
$user2 = [
'username' => 'jane.doe',
'usage_kwh' => 600, // Invalid usage
'bill_amount' => 250, // Invalid bill amount
'age' => 16, // Invalid age
];
$user3 = [
'username' => 'peter.pan',
'usage_kwh' => 300,
'bill_amount' => 150,
'age' => 30
];
if (verifyUserRecord($user1)) {
echo "User 1 is valid.\n";
} else {
echo "User 1 is invalid.\n";
}
if (verifyUserRecord($user2)) {
echo "User 2 is valid.\n";
} else {
echo "User 2 is invalid.\n";
}
if (verifyUserRecord($user3)) {
echo "User 3 is valid.\n";
} else {
echo "User 3 is invalid.\n";
}
*/
?>
Add your comment