2016-12-13 27 views
0

我有一種情況:如何將隨機url添加到php中的for循環中的href?

有一些div是基於以下循環顯示:

<?php foreach($posts->content as $entry) { ?> 
    <div><a class="popup-with-zoom-anim wiplay" id="<?=$entry->id?>" 
    href="#small-dialog" data-detail-id ="<?=$entry->id?>" 
    data-stream="******">content here</a></div> 
    <?php } ?> 

在A HREF「數據流」我想通過一些YouTube網址,所以每個div將顯示基於循環的隨機url。 我試了下面的代碼。但不工作。我們將如何在循環內調用這個函數?

$assoc_array = array("url" => "https://www.youtube.com 
/watch?v=A7XdOyZIkko", 
     "url" => "https://www.youtube.com/watch?v=dMH0bHeiRNg 

    ", 
     "url" => "https://www.youtube.com/watch?v=xEs59zTXu7s", 
     "url" => "https://www.youtube.com/watch?v=tlDAgZO2ZDM 
    "); 
    function shuffle_assoc_array(&$array) { 
    if (!is_array($array)) return $array; 
    $keys = array_keys($array); 
    shuffle($keys); 
    $random = array(); 
    foreach ($keys as $key) 
    $random[$key] = $array[$key]; 
    $array = $random; return TRUE; 
    } 
    shuffle_assoc_array($assoc_array); 

如何將這個YouTube網址隨機傳遞給for循環?

回答

0

由於伊瑪說,你必須有cahnge你的數組格式,並嘗試使用下面的代碼。

<?php 
    $assoc_array = array("https://www.youtube.com/watch?v=A7XdOyZIkko", "https://www.youtube.com/watch?v=dMH0bHeiRNg", "https://www.youtube.com/watch?v=xEs59zTXu7s", "https://www.youtube.com/watch?v=tlDAgZO2ZDM"); 

    shuffle($assoc_array); 

    for($i=0;$i<count($assoc_array);$i++){ 
     echo '<div><a class="popup-with-zoom-anim wiplay" id="'.$i.'" href="#small-dialog" data-detail-id ="'.$i.'" data-stream="'.$assoc_array[$i].'">'.$assoc_array[$i].'</a></div>'; 
    } 
?> 
+0

謝謝你在這裏工作! – gitu

0

此陣會給你只有一個值

array( 
"url" => "https://www.youtube.com 
/watch?v=A7XdOyZIkko", 
"url" => "https://www.youtube.com/watch?v=dMH0bHeiRNg", 
"url" => "https://www.youtube.com/watch?v=xEs59zTXu7s", 
"url" => "https://www.youtube.com/watch?v=tlDAgZO2ZDM 
"); 

這相當於

array( 
    "url" => "https://www.youtube.com/watch?v=tlDAgZO2ZDM 
"); 

嘗試是這樣的

array( 
"https://www.youtube.com/watch?v=A7XdOyZIkko", 
"https://www.youtube.com/watch?v=dMH0bHeiRNg", 
"https://www.youtube.com/watch?v=xEs59zTXu7s", 
"https://www.youtube.com/watch?v=tlDAgZO2ZDM" 
); 
+0

感謝您的幫助 – gitu