我需要使用PHP重新排列follow数组的顺序,我尝试使用数组shuffle和array_random但没有运气,有人可以帮我吗
Array (
[0] => Array (
[value] => 4
[label] => GasGas
)
[1] => Array (
[value] => 3
[label] => Airoh Helmets
)
[2] => Array (
[value] => 12
[label] => XCiting Trials Wear
)
[3] => Array (
[value] => 11
[label] => Hebo Trials
)
[4] => Array (
[value] => 10
[label] => Jitsie Products
)
[5] => Array (
[value] => 9
[label] => Diadora Boots
)
[6] => Array (
[value] => 8
[label] => S3 Performance
)
[7] => Array (
[value] => 7
[label] => Scorpa
)
[8] => Array (
[value] => 6
[label] => Inspired
)
[9] => Array (
[value] => 5
[label] => Oset
)
)
答案 0 :(得分:4)
$array = array(1,2,3,4,5,6,7);
shuffle($array);
print_r($array);
答案 1 :(得分:2)
你可以得到一个随机的数组索引序列,我想它可以让你解决问题;)
//返回随机非重复数字数组
// PARAMS:
// $ fromto - 如果$ to为null,则interval为[0,$ fromto],其他地方[$ fromto,$ to]
// $ to - 间隔结束。
// $ limit - 限制数量。注意! if $ limit< size([$ fromto,$ to])并非所有来自区间[$ fromto,$ to]的数字都将返回
功能 rand_seq($ fromto,$ to = null,$ limit = null){
如果(is_null($到)){
$ to = $ fromto;
$ fromto = 0; }
if(is_null($ limit)){
$ limit = $ to- $ fromto + 1;
}
$ randArr = array();
for($ i = $ fromto; $ i< = $ to; $ i ++){
$ randArr [] = $ i;
}
$ result = array();
for($ i = 0; $ i< $ limit || sizeof($ randArr)> 0; $ i ++){
$ index = mt_rand(0,sizeof($ randArr)-1); //选择rand index /выбираемслучайныйиндексмассива
$ result [] = $ randArr [$ index]; //添加随机元素/добавляемслучайныйэлементмассива
array_splice($ randArr,$ index,1); //删除它=)/удаляемего=)
}
返回$ result;
}