PHP でのランダム データの生成は、mt_rand を使用して直接実現できます。非繰り返しの乱数を生成したい場合は、unique_rand 関数を使用します。一般的に使用される方法をまとめます。
コードは次のとおりです:
コードは次のとおりです | コードをコピー |
//範囲は 1 から 100 を配列にリストすることです
シャッフル ($numbers) |
コードをコピー
$numbers = 範囲 (1,20) | |
エコー "$number ";
}
?> |
コードをコピー
関数 NoRand($begin=0,$end=20,$limit=5){ | $rand_array=範囲($begin,$end) | shuffle($rand_array);//既製の配列のランダム配置関数を呼び出します
print_r(NoRand());
?>
|
印刷結合(',',$tmp); ?> | |||||||||||||
上記はすべて机上の話であり、実際の要件は次のとおりです 。投票対象作品は25作品あります。1回の投票で16作品を選択する必要があります。プログラマーが以前にミスを犯し、200 人のユーザーによって生成された投票シーケンスが空でした。では、このギャップをどのように埋めるのでしょうか? もちろん、上司に状況を報告してください。しかし、ここで議論しているのは、1 ~ 25 の非繰り返しの乱数を 16 個生成して埋める必要があるテクノロジーです。具体的に機能をどう設計するか?乱数を配列に格納し、配列内の重複する値を削除して、一定数の非反復乱数を生成します
いくつかの追加メモ: •mt_rand()関数は乱数を生成するために使用されます。この関数は、rand() よりも平均して 4 倍の速度で乱数を生成します。 •配列を返す前に、 shuffle() を使用して新しいキー名を配列に割り当て、キー名が 0 から n までの連続した番号であることを確認します。この手順を実行しないと、重複した値を削除するときにキー名が不連続になり、トラバーサルに問題が発生する可能性があります。
36 文字の 0 ~ z のいずれかを生成します。 getOptions() メソッドを呼び出すたびに文字が生成され、array[0] = 0、array[1] = 1、…、array[35] = z のように格納されます。
前の記事:phpmyadmin エラー: エラーが発生しないとセッションを開始できません_PHP チュートリアル
次の記事:前月の今日の問題の PHP strtotime 計算 - PHP チュートリアル
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
URL パラメータから取得した PHP 配列が期待どおりに動作しない
カテゴリ ID を含む URL パラメータがあり、それを次のような配列として扱いたいと考えています: http://example.com?cat[]=3,9,13 PHP では、...
から 2024-04-06 22:09:02
0
1
1428
戻り値の変数の形式は何ですか?
私はphpの初心者です。コードを見つけました: if($x<time()){return[false,'error'];} ロジックや変数は重要ではありませんが、[false...
から 2024-04-06 21:55:20
0
1
778
ループするために MySQL の結果を ID ごとにグループ化する
mysqlにフライトデータを含むテーブルがあります。 codeigniter3Journey_idair_idFlightDurationout_or_inflightdurati...
から 2024-04-06 17:27:56
0
1
406
関連トピック
詳細>
|