2016-08-31 7 views
-1

配列からランダムなデータを取得することはできますか?多次元配列からランダムデータを取得するにはどうすればよいですか?

マイアレイを参照してください:

  
Array 
(
    [0] => Array 
     (
      [0] => My Data 
      [1] => Airport 
      [2] => Md 
     ) 

    [1] => Array 
     (
      [0] => Live in fear 
      [1] => Science 
      [2] => Sc 
     ) 

    [2] => Array 
     (
      [0] => State History 
      [1] => Government 
      [2] => MP 
     ) 

    [3] => Array 
     (
      [0] => Real Estate 
      [1] => Other 
      [2] => Property 
     ) 

    [4] => Array 
     (
      [0] => Real State 
      [1] => Not Sure 
      [2] => NoData 
     ) 
) 

私はランダムな出力のこのタイプを必要とする...

 
Array 
(
    [0] => Array 
     (
      [0] => My Data 
      [1] => Airport 
      [2] => Md 
     ) 

    [1] => Array 
     (
      [0] => Real State 
      [1] => Not Sure 
      [2] => NoData 
     ) 

    [2] => Array 
     (
      [0] => My Data 
      [1] => Airport 
      [2] => Md 
     ) 

    [3] => Array 
     (
      [0] => State History 
      [1] => Government 
      [2] => MP 

     ) 

    [4] => Array 
     (
      [0] => Live in fear 
      [1] => Science 
      [2] => Sc 

     ) 
) 
+0

はあなただけ([2] [0]と出力の出力を参照)shuffle' – Ghost

+0

'shuffle'はあなたに繰り返しを与えることはありません'使用することはできません – Amadan

答えて

0

あなたは単にshuffle()

ブールシャッフル(配列& $配列を使用することができます)

この関数は、配列内の要素の順番をシャッフル(ランダム化)します。暗号化には適していない疑似乱数ジェネレータを使用します。

shuffle($array); // Shuffles your array keys randomly every time. 
0

シャッフル()、多次元配列からランダムな値を得ることで、より良い選択肢となります。

リファレンス:http://php.net/manual/en/function.shuffle.php

シャッフル()例:

シャッフル()関数は、配列の要素の順序をランダム化します。

この関数は、配列内の要素に新しいキーを割り当てます。既存のキーが削除されます

<?php 
$my_array = array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"purple"); 

shuffle($my_array); 
print_r($my_array); 
?> 

出力:

Array ([0] => red [1] => yellow [2] => green [3] => blue [4] => purple) 
//The Output will keep shuffling if you refresh the browser. 
0

が、それはあなたを助けるでしょう、次のシャッフルfunction.Hopeをお試しください。

function shuffle_assoc($list) { 
    if (!is_array($list)) return $list; 

    $keys = array_keys($list); 
    shuffle($keys); 
    $random = array(); 
    foreach ($keys as $key) { 
    $random[] = $list[$key]; 
    } 
    return $random; 
} 

$arr = array(); 
$arr[] = array('id' => 50, 'foo' => 'hello'); 
$arr[] = array('id' => 17, 'foo' => 'byebye'); 
$arr[] = array('id' => 19, 'foo' => 'foo'); 

print_r(shuffle_assoc($arr)); 
関連する問題