v5.2.10+的PHP array_rand变换问题



我最近刚刚将我的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

你知道如何让同样的功能回来吗?

谢谢。

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

最新更新