在PHP的foreach循环中混合数组

3
我正在尝试在PHP的foreach循环中以随机顺序显示数组。我不知道是否要创建一个随机化循环来实现这一点,还是是否存在随机化函数。我从Facebook和Twitter API中捕获信息,目标是混合结果并显示为来自Facebook墙和Twitter的推文列表。
如下所示,我首先将Facebook和Twitter的两个数组合并为一个,然后在foreach循环中循环它们以进行显示。目前所有的Facebook都会先显示,然后是Twitter。我想随机混合这两个。对于代码造成的困扰,请见谅,我很快就把它拼凑起来了。
如果您有完全不同的方法,请不要犹豫,我听取任何建议! ;)
以下是我的代码:
$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>'; 

抱歉,伙计们,代码有点扭曲了;)不过还是很清晰的。 - HomeBrew
2个回答

4
你可以使用合并两个数组的方法,然后使用shuffle($array)随机打乱它们。然后你可以循环新的顺序并将它们打印出来。

啊哈...太简单了 - 非常感谢,这是我得到的最快的修复。干杯! - HomeBrew

-1
使用shuffle函数进行随机化:
foreach (shuffle($array) as $commentortweet) {
....

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接