Я только недавно обновил свой 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
Есть идеи, как вернуть ту же функциональность?
Спасибо.