2011-07-10 103 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