2016-04-07 21 views
1
 $stmt = $web_dbi->prepare($query); 
     $stmt->execute(); 
     $result = $stmt->get_result(); 
     $num_of_rows = $result->num_rows; 

     while($row=mysqli_fetch_array($result)){ 
      $results[] = $row; 
     } 

     $randomNumber = mt_rand(0,($num_of_rows-1)); 
     if($results[$randomNumber]['mysql_field']==anothervalue){ 
     ... 

$results[]の要素をランダムにアクセスするにはどうすればよいですか?このシナリオでは正しい構文ですか?PHP配列内の要素内のランダムな要素を見つける?

答えて

2

コードは正常です。

$random_value = $results[array_rand($results)]; 
1
shuffle($results); 
$item_to_use = array_pop ($results); 

最も効率的ではないのが、少ないコード行を使用しています。私は個人的に配列からランダムな要素を選択するために、array_randを使用して好みます。

1

Alternativley、あなたはランダムな結果を得るためにSQLクエリを使用することができます。

SELECT field1, field2, field3 FROM table_name ORDER BY RAND() 

それとも

echo $results[mt_rand(0, $num_of_rows - 1)]['mysql_field']; 
、これを試してみてくださいPHPの配列からランダムな配列要素を取得します
関連する問題