2011-07-10 45 views
3

我試圖在PHP中的foreach循環中以隨機順序顯示數組。我不知道是否要創建一個隨機循環來做到這一點,或者是否有隨機化函數。我從Facebook和twitter api獲取信息,目標是將結果混合並顯示爲Facebook牆上的評論列表以及Twitter上的推文。在PHP foreach循環中混合數組

正如你可以看到下面,我先合併從Facebook兩個數組和Twitter成一個,然後遍歷它們在foreach循環顯示。目前所有的Facebook首先展示,然後是推特。我想隨機混合這兩個。對於代碼抱歉,我很快就把它們拼湊在一起。

如果你已經有了一個完全不同的方式來做到這一點也請不要忍住,我所有的耳朵! ;)

這裏是我的代碼wize:

$array = array_merge ($comments, $tweets); 
foreach ($array as $commentortweet) 
{ 
    echo '<li>'. $commentortweet->picture. $commentortweet->message . $commentortweet->updatetime . 
     $commentortweet->content. $commentortweet->user . $commentortweet->author .'</li>'; 
} 
echo '</ul>'; 
+0

對不起球員,代碼已經顯示了一點squwed;)它仍然是相當清晰的,但。 – HomeBrew

回答

4

您可以使用合併兩個數組,然後shuffle他們使用shuffle($array)的方法。然後,您可以循環執行新訂單並將其打印出來。

+0

阿哈......太簡單了 - 非常感謝,我得到的最快解決方案。乾杯! – HomeBrew

+0

歡迎您!請記住,接受你喜歡的答案:P – Ribose

-1

使用洗牌隨機化:

foreach (shuffle($array) as $commentortweet) { 
.... 
+0

http://stackoverflow.com/questions/8966037/php-random-order-from-a-foreach – Gordon