v5.2.10 +的PHP array_rand shuffling问题

时间:2011-04-25 09:48:38

标签: php arrays shuffle

我刚刚将我的PHP更新为更新的版本,并且发现它使我的一些较旧的,曾经功能的代码无用。也就是说,由于v5.2.10与array_rand“得到的键数组不再被洗牌”,因此存在问题。

以下代码不再起作用,也就是说,它不像以前那样随机乱码:

$in = array('foo_1|bar_1', 'foo_2|bar_2','foo_3|bar_3','foo_4|bar_4','foo_5|bar_5' );

foreach($in as &$r){
$r = explode("|", $r);  
}

$rand = array_rand($in, 3);

//OUTPUTS:

$in[$rand[0]][0] //foo_1
$in[$rand[0]][1] //bar_1

$in[$rand[1]][0] //foo_3
$in[$rand[1]][1] //bar_3

$in[$rand[2]][0] //foo_5
$in[$rand[2]][1] //bar_5

知道如何获得相同的功能吗?

感谢。

1 个答案:

答案 0 :(得分:3)

$rand = array_rand($in, 3);
shuffle($rand);