PHP递归函数通过引用传递

我正在尝试在我的网站上显示 27 个随机图像,为此我已将图像源存储在我的数据库中。


    $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_array),我将把随机生成的图像的索引推送到该数组,然后检查该值是否已经在数组中。


if 块工作正常,但在 else 块中出现问题,因为它将“ unknown”返回给src属性。

http://img.mukewang.com/64706a8e0001520202590020.jpg

慕田峪7331174
浏览 114回答 1
1回答

大话西游666

我正在尝试 27 在我的网站上显示随机图像与其运行 27 个查询并在其间添加应用程序逻辑,不如简单地在数据库中混洗?select&nbsp;imgURL&nbsp;from&nbsp;my_db&nbsp;order&nbsp;by&nbsp;rand()&nbsp;limit&nbsp;27;这个 sibgle 查询为您提供了 table 中的随机 27 条记录my_db,这似乎正是您所追求的,应用程序端没有任何额外的代码。剩下要做的就是获取结果并将它们显示在您的应用程序中。
打开App,查看更多内容
随时随地看视频慕课网APP