php递归函数按引用传递

q9rjltbz  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(302)

我试图在我的网站上显示随机图像,为此我把图像源存储在我的数据库中。

$query = "SELECT imgURL from my_db;";
    $stmt = $con -> prepare($query);
    $stmt -> execute();
    $imgURL = $stmt->fetchAll();

    $img_array = array();

    function getImgURL($imgURL,$arr_index,&$img_array){
        if(!in_array($arr_index, $img_array)){
           array_push($img_array,$arr_index);
           return strval($imgURL[$arr_index][0]);    
        } else{
            getImgURL($imgURL,rand(0,94),$img_array);
        }
     }

   for($i = 0 ; $i<=27; $i++){
       echo '<img class="img-fluid" src="'.getImgURL($imgURL,rand(0,94),$img_array).'">';
   }

为了防止重复性,我创建了一个数组($img\u array),我将把随机生成的图像的索引推送到该数组中,然后检查该值是否已经在数组中。
if块工作正常,但返回时else块出现问题” unknown “到 src 属性。

xiozqbni

xiozqbni1#

我试图在我的网站上显示随机图像
与其运行27个查询,中间还要有附加的应用程序逻辑,为什么不简单地在数据库中洗牌呢?

select imgURL from my_db order by rand() limit 27;

这个同级查询从表中随机提供27条记录 my_db ,这似乎正是您所追求的,在应用程序端没有任何附加代码。剩下要做的就是获取结果并在应用程序中显示它们。

相关问题