Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在细枝中不重复的图像数组_Php_Symfony_Twig - Fatal编程技术网

Php 在细枝中不重复的图像数组

Php 在细枝中不重复的图像数组,php,symfony,twig,Php,Symfony,Twig,我在一个目录中有很多图片(超过25张图片)。 通过一个PHP函数,我在一个数组中列出图片的来源(listImg[]) 使用Symfony,我返回这个带有渲染细枝的数组 我想在主页上有9张随机图片和12张关于页面的图片 问题是图片的重复 我的PHP函数: public function showImgDir(): array { $dir = "assets/img/tour"; $ext_list = array("jpg&

我在一个目录中有很多图片(超过25张图片)。 通过一个PHP函数,我在一个数组中列出图片的来源(listImg[]) 使用Symfony,我返回这个带有渲染细枝的数组

我想在主页上有9张随机图片和12张关于页面的图片

问题是图片的重复

我的PHP函数:

public function showImgDir(): array
    {
        $dir = "assets/img/tour";

        $ext_list = array("jpg", "jpeg", "png");
        $listImg = [];

        $picDir= opendir($dir);
        while ($file = readdir($picDir)) {
            if ($file === '.' || $file === '..') {
                continue;
            }
            
            $listImg[] = $dir . '/' . $file;
        }
        closedir($picDir); 
        return $listImg;
    }
在树枝上:

{% for a in 1..9 %}
    <img src="{{random(listImg)|imagine_filter('mini')}}"/>
{% endfor %}
你能帮我吗?(暂时没有JS解决方案)

谢谢:)

我使用洗牌(数组);回国前

shuffle($listImg);
return $listImg;
在树枝上:

{% for a in 1..9 %}
    <img src="{{listImg[a]|imagine_filter('mini')}}"/>
{% endfor %}
{%用于1..9%中的a}
{%endfor%}

它起作用了!:)

这回答了你的问题吗?为什么不在返回数组之前洗牌,然后使用前n个元素呢?
{% for a in 1..9 %}
    <img src="{{listImg[a]|imagine_filter('mini')}}"/>
{% endfor %}