【问题标题】:randomize array using php使用php随机化数组
【发布时间】:2012-07-09 09:06:01
【问题描述】:

我需要使用 PHP 重新排列跟随数组的顺序,我尝试使用数组 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
  )
) 

【问题讨论】:

标签: php multidimensional-array


【解决方案1】:
$array = array(1,2,3,4,5,6,7);
shuffle($array);
print_r($array);

【讨论】:

  • 谢谢我之前弄错了,我打乱了数组并将它分配给了一个变量。 :)
【解决方案2】:

你可以得到一个随机的数组索引序列,我认为它可以让你解决你的问题;)


// 返回随机的非重复数字数组
//参数:
//$fromto - 如果 $to 为 null,则间隔将为 [0, $fromto],其他地方为 [$fromto, $to]
//$to - 间隔结束。
//$limit - 限制数量。注意!如果 $limit 函数 rand_seq($fromto, $to = null, $limit = null){

if(is_null($to)){
$to = $fromto;
$fromto = 0; }

if(is_null($limit)){
$limit = $to-$fromto+1;

}
$randArr = 数组();

for($i=$fromto;$i $randArr[]=$i;

}
$result = array();

for($i=0; $i 0; $i++){
$index = mt_rand(0, sizeof($randArr)-1); // 选择 rand 索引 / выбираем случайный индекс массива
$result[] = $randArr[$index]; // 添加随机元素 / добавляем случайный элемент массива
array_splice($randArr, $index, 1); // 删除它=) / удаляем его =)

}

return $result;
}

【讨论】:

    猜你喜欢
    • 2011-09-27
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    • 2013-06-16
    相关资源
    最近更新 更多