1. <?php
  2. /**
  3. * Verifies the integrity of queues for backward compatibility.
  4. *
  5. * This function checks if the queue data conforms to expected structures
  6. * and formats, providing simple error messages if discrepancies are found.
  7. *
  8. * @param array $queue The queue data to validate.
  9. * @return bool True if the queue is valid, false otherwise.
  10. */
  11. function verifyQueueIntegrity(array $queue): bool
  12. {
  13. // Check if the queue is an array.
  14. if (!is_array($queue)) {
  15. error_log("Error: Queue data must be an array."); //Log the error.
  16. return false;
  17. }
  18. // Check if the queue contains only strings.
  19. foreach ($queue as $item) {
  20. if (!is_string($item)) {
  21. error_log("Error: Queue items must be strings."); //Log the error.
  22. return false;
  23. }
  24. }
  25. // Check if all queue items are not empty.
  26. foreach ($queue as $item) {
  27. if (empty($item)) {
  28. error_log("Error: Queue items cannot be empty."); //Log the error.
  29. return false;
  30. }
  31. }
  32. // Optionally, check for a maximum queue size. (Example)
  33. if (count($queue) > 100) {
  34. error_log("Warning: Queue exceeds maximum size (100 items)."); //Log the warning.
  35. }
  36. return true; // Queue is valid.
  37. }
  38. // Example usage:
  39. /*
  40. $validQueue = ["item1", "item2", "item3"];
  41. $invalidQueue = [123, "item2", ""];
  42. if (verifyQueueIntegrity($validQueue)) {
  43. echo "Queue is valid.\n";
  44. } else {
  45. echo "Queue is invalid.\n";
  46. }
  47. if (verifyQueueIntegrity($invalidQueue)) {
  48. echo "Queue is valid.\n";
  49. } else {
  50. echo "Queue is invalid.\n";
  51. }
  52. */
  53. ?>

Add your comment