-3

PHPを使用して配列に従う順序をランダム化する必要があります。配列シャッフルと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
  )
) 
4

2 に答える 2

4
$array = array(1,2,3,4,5,6,7);
shuffle($array);
print_r($array);
于 2012-07-09T09:13:00.397 に答える
2

配列インデックスのランダムなシーケンスを取得できます。問題を解決できると思います;)


// 数値のランダムな非反復配列を返す
//params:
//$fromto - $to が null の場合、間隔は [0, $fromto] になり、その他の場合は [$fromto, $to]
//$to - 間隔の終わり。
//$limit - 制限数。知らせ!if $limit < size([$fromto, $to]) 間隔 [$fromto, $to] のすべての数値が返されるわけではありません
関数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<=$to; $i++){
$randArr[]=$i;

$result =
配列();

for($i=0; $i < $limit||sizeof($randArr) > 0; $i++){
$index = mt_rand(0, sizeof($randArr)-1); // ランド インデックスを選択します
。// ランダム要素を追加 / добавляем случайный элемент массива
array_splice($randArr, $index, 1); // 削除します=) / удаляем его =)

}

return $result;
}

于 2012-07-09T09:25:12.790 に答える