この記事の例では、PHP 関数 shuffle() が配列からいくつかのランダムな要素を取得する方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
場合によっては、配列内の複数のランダムな要素を取得する必要がある場合 (ランダムな推奨関数の作成など)、PHP でどのように実装すればよいでしょうか?比較的簡単な解決策は、PHP に付属の shuffle() 関数を使用することです。これは簡単な例です:
$data[] = array( "name" => "本站", "rank" => "40" ); $data[] = array( "name" => "博客园", "rank" => "50" ); $data[] = array( "name" => "CSDN", "rank" => "60" ); $data[] = array( "name" => "ITEYE", "rank" => "50" ); shuffle($data); $i = 0; foreach($data as $key =>$value ){ if($i < 2) { echo $data[$key]['name'].'<br />'; } $i++; }
shuffle()
shuffle() 関数は、配列内の要素をランダムな順序で並べ替えます。成功した場合は TRUE を返し、そうでない場合は FALSE を返します。この関数は、配列内の要素に新しいキーを割り当てます。これにより、元のキーが単に並べ替えられるのではなく、削除されます。
連想配列を渡すと、連想配列のキー名が失われることがわかります。ちなみに、ここで解決策について話しましょう:
// 打乱关联数组的排序 function shuffle_assoc($array) { $randomized_keys = array_rand($array, count($array)); foreach($randomized_keys as $current_key) { $output[$current_key] = $array[$current_key]; } return $output; }
さらに、PHP は配列からランダムに値を抽出する関数も提供します: array_rand()。その呼び出し形式は次のとおりです: array_rand (array, the抽出された要素の数); もちろん、それを実装する必要があります。2 次元配列のサポートも、使用する前にカプセル化する必要があります。しかし、以前のプログラムは 2 次元配列を非常によくサポートしています。
さらに PHP 関連のコンテンツに興味のある読者は、このサイトの特別トピックをチェックしてください:「PHP の操作とオペレーターの使用法の概要」、「PHP ネットワーク プログラミング スキルの概要」、「PHP 基本構文チュートリアルの紹介」、 『php操作オフィス文書スキル』まとめ(word、excel、access、ppt含む)』、『php日時の使い方まとめ』、『phpオブジェクト指向プログラミング入門講座』、『php string(文字列)の使い方まとめ』、『 php+mysqlデータベース操作入門『チュートリアル』と『PHPにおける共通データベース操作スキルまとめ』
この記事がPHPプログラミングの皆様のお役に立てれば幸いです。
上記では、配列からランダムな要素をいくつか取得するための PHP 関数 shuffle の分析を紹介しました。これには、shuffle と php の内容も含まれます。PHP チュートリアルに興味のある友人に役立つことを願っています。