How can a PHP developer optimize the performance of a gallery that dynamically loads images from an array?

To optimize the performance of a gallery that dynamically loads images from an array, a PHP developer can implement lazy loading techniques. By only loading images as they are needed, the initial page load time can be reduced, improving the overall user experience. One way to achieve this is by using JavaScript to load images asynchronously when they come into view.

<?php
// Sample array of image URLs
$images = [
    'image1.jpg',
    'image2.jpg',
    'image3.jpg',
    'image4.jpg',
    'image5.jpg'
];

// Output the initial HTML structure of the gallery
echo '<div id="image-gallery">';
foreach ($images as $image) {
    echo '<img data-src="' . $image . '" class="lazy-load">';
}
echo '</div>';

// JavaScript code to lazy load images when they come into view
echo '<script>
document.addEventListener("DOMContentLoaded", function() {
    let lazyImages = document.querySelectorAll(".lazy-load");

    function lazyLoad() {
        lazyImages.forEach(image => {
            if (image.getBoundingClientRect().top < window.innerHeight) {
                image.src = image.getAttribute("data-src");
                image.classList.remove("lazy-load");
            }
        });
    }

    document.addEventListener("scroll", lazyLoad);
    lazyLoad();
});
</script>';
?>