<?php function get_rand($proArr) { $result = ''; //概率数组的总概率精度 $proSum = array_sum($proArr); //概率数组循环 foreach ($proArr as $key => $proCur) { $randNum = mt_rand(1, $proSum); if ($randNum <= $proCur) { $result = $key; break; } else { $proSum -= $proCur; } } unset ($proArr); return $result; }
prime 配列は、この宝くじのすべての賞品情報を記録する 2 次元配列です。id は当選レベルを表し、prise は賞品を表し、v は当選確率を表します。 v は整数である必要があることに注意してください。対応する賞の v を 0 に設定できます。これは、賞を獲得する確率が 0 であることを意味します。配列 (基数) 内の v の合計。基数が大きいほど、精度が高くなります。確率を反映できます。この例では、v の合計が 100 である場合、タブレットが当たる確率は 1% ですが、v の合計が 10,000 である場合、当たる確率は 1 万分の 1 です。 $proArr は事前に設定された配列です。配列が array(100,200,300,400) であるとします。まず、確率範囲 1,1000 から最初の数値をスクリーニングして、その出現確率範囲内にあるかどうかを確認します。そうでない場合は、確率空間とは、kの値から先ほどの数値を引いた確率空間で、この場合はマイナス100となり、2番目の数値が1,900の範囲でフィルタリングされることになります。このようにして、審査が終了するまで、必ず要件を満たす数字が存在します。それは箱の中のものに触れるのと同じで、最初のものがそこになく、2 つ目がそこになく、3 つ目が存在しない場合、最後のものが存在するはずです。このアルゴリズムはシンプルで非常に効率的です。重要なのは、このアルゴリズムが以前のプロジェクト、特に大量のデータを含むプロジェクトに適用されているということです。効率は非常に優れています。
このサイトのすべてのリソースはネチズンによって提供されたもの、または主要なダウンロード サイトによって転載されたものです。ソフトウェアの整合性をご自身で確認してください。このサイトのすべてのリソースは学習の参考のみを目的としています。商業目的で使用しないでください。そうでない場合は、すべての結果に対して責任を負うことになります。侵害がある場合は、削除するためにご連絡ください。連絡先情報: admin@php.cn
関連記事

30 Nov 2024
cURL: PHP の HTTP リクエスト ハンドラー PHP 開発の分野では、「cURL」という用語が頻繁に登場します。それは図書館です...

30 Oct 2024
App Engine 上の Golang でパスワードを保護するWeb アプリケーションのパスワード ハッシュに関しては、セキュリティが最も重要です。人気の図書館ですが...

11 Jan 2025
iTextSharp でテキストの書式設定を行うにはどうすればよいですか?はい、iTextSharp でテキストの書式設定を行うことができます。図書館では次のようなサービスを提供しています...

05 Mar 2025
JSFiddle:便利なオンラインjQueryコードエディター JSFiddleは、開発者がjQueryコードを書き、テスト、デバッグすることを促進する強力なオンラインエディターです。それは、HTML、CSS、およびJavaScript/jQueryコードの入力にそれぞれ使用され、結果をリアルタイムで表示するために使用されるスプリットスクリーンインターフェイスを使用します。これは、非個人的なコンピューターでコードをテストしたり、異なるjQueryバージョン間のコードの違いを比較したりするのに非常に役立ちます。 JQueryに加えて、Mootools、Prototype、Yui、Glow、Dojo、その他の図書館もサポートしています。 jsfiddleの例 JSFiddle FAQ JSFiddleおよびその他のオンライン

04 Mar 2025
2024年のこの<🎜>ウィッシュファインダーガイドは、毎日のウィッシュの場所を明らかにし、キャラクターの手がかりを解読します。報酬とともに、それぞれの願いを獲得して吊るすプロセスをカバーします。始めましょう! 1日目:ダイモンの願い - 図書館ダイモン

01 Nov 2024
Go でライブラリ管理システムを構築する この記事では、Go に実装されたライブラリ管理システム (LMS) について調べて、その中核的な機能、設計上の決定事項、主要なコード スニペットに焦点を当てましょう。 図書館管理の主要な機能


ホットツール Tags

Hot Tools

依存関係注入コンテナー用の PHP ライブラリ
依存関係注入コンテナー用の PHP ライブラリ

50 個の優れた古典的な PHP アルゴリズムのコレクション
古典的な PHP アルゴリズム、優れたアイデアを学び、思考を広げます

画像を最適化するための小さな PHP ライブラリ
画像を最適化するための小さな PHP ライブラリ
