Heim >Backend-Entwicklung >PHP-Tutorial >So generieren Sie Zufallszahlen ohne Wiederholung in PHP für die Auflistung von Webseiten
Wenn Sie eine Website erstellen, die eine Zufallsauswahl verwendet, um bei jeder Seitenaktualisierung einen Yelp-Eintrag anzuzeigen, stehen Sie vor der Herausforderung, sicherzustellen, dass alles funktioniert 20 Einträge werden einmalig ohne Wiederholung angezeigt. Während der aktuelle Ansatz mit rand(0,19) eine einfache Lösung bietet, verhindert er nicht wiederholte Anzeigen.
Eine effizientere Strategie besteht darin, ein Array zu mischen, das Folgendes enthält Zahlen, die jede Auflistung repräsentieren. Dies kann mit der shuffle()-Funktion von PHP erreicht werden. Um jedoch eindeutige Einträge über mehrere Seitenaktualisierungen hinweg anzuzeigen, müssen Sie die bereits verwendeten Zahlen verfolgen.
Hier ist eine verbesserte Version Ihres PHP-Codes:
<code class="php">// Generate an array of numbers without repeats $numbers = range(0, 19); shuffle($numbers); // Handle Yelp response data $response = json_decode($data); $business = $response->businesses; // Iterate through the numbers array foreach ($numbers as $i) { // Display the corresponding Yelp listing echo "<img border=0 src='" . $business[$i]->image_url . "'><br/>"; echo $business[$i]->name . "<br/>"; echo "<img border=0 src='" . $business[$i]->rating_img_url_large . "'><br/>"; }</code>
Bei diesem Ansatz wird das $numbers-Array beim Aktualisieren einer Seite einmal randomisiert. Während das Programm das Array durchläuft, zeigt es jeden Eintrag der Reihe nach an und stellt so sicher, dass alle 20 Einträge ohne Wiederholung angezeigt werden.
Sie können auch eine Alternative mithilfe von randomGen() erkunden. Funktion:
<code class="php">function randomGen($min, $max, $quantity) { $numbers = range($min, $max); shuffle($numbers); return array_slice($numbers, 0, $quantity); } // Generate 20 unique random numbers within the range of 0 to 20 $uniqueNumbers = randomGen(0, 20, 20);</code>
Diese Funktion bietet einen vielseitigeren Ansatz zum Generieren eindeutiger Zufallszahlen innerhalb eines bestimmten Bereichs und einer bestimmten Menge.
Das obige ist der detaillierte Inhalt vonSo generieren Sie Zufallszahlen ohne Wiederholung in PHP für die Auflistung von Webseiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!