ホームページ > バックエンド開発 > PHPチュートリアル > 固有のコンテンツを表示するために非繰り返しの乱数を生成するにはどうすればよいですか?

固有のコンテンツを表示するために非繰り返しの乱数を生成するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-21 12:49:30
オリジナル
1037 人が閲覧しました

How to Generate Non-Repeating Random Numbers for Unique Content Display?

固有のコンテンツ用の非反復乱数の生成

Yelp リストの表示など、特定の目的で乱数を生成する場合、これは非常に重要です繰り返さないようにするためです。これにより、意図したすべての項目が重複なく表示されます。

PHP の Shuffle メソッド

PHP の shuffle 関数を使用して、非反復数値の配列を生成できます。生成する数値の範囲を指定すると、シャッフルは数値をランダムに並べます。

$numbers = range(1, 20);
shuffle($numbers);
ログイン後にコピー

このアプローチは、小さなデータセットにはシンプルで効果的ですが、データセットのサイズが大きい場合には制限があります。

代替: RandomGen 関数

データセットが大きい場合は、randomGen と呼ばれるカスタム関数を使用するとパフォーマンスが向上します。この関数は、指定された範囲内で指定された数の一意の乱数を生成します。

<code class="php">function randomGen($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}

print_r(randomGen(0, 20, 20)); // Generates 20 unique random numbers</code>
ログイン後にコピー

Yelp リスト表示への特定のアプリケーション

このメソッドを Yelp リストに適用する場合、 $businesses にビジネスの配列が保存されている場合は、次の手順を実行できます。

  1. randomGen 関数または shuffle メソッドを使用して、ランダムなリスト ID を生成します。
  2. 生成された ID を保存します。
  3. ページが更新されるたびに、新しいランダム ID を生成し、テーブルと照合します。まだ表示されていない場合は、そのリストを表示し、テーブルに ID を追加します。
  4. 20 個のリストがすべて表示されるまで手順 3 を繰り返します。

これらの手法に従うことで、次のことができます。すべての Yelp リストが繰り返し表示されることなく 1 回表示されるようにし、より包括的なユーザー エクスペリエンスを提供します。

以上が固有のコンテンツを表示するために非繰り返しの乱数を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート