In Empfehlungssystemen möchten wir normalerweise, dass die empfohlenen Inhalte täglich anders sind, um die Benutzererfahrung zu verbessern. Wie können Sie jedoch sicherstellen, dass sich der empfohlene Inhalt ändert und jedes Mal vom System reproduziert werden kann, wenn der Benutzer besucht? Auf diese Weise müssen wir einige clevere Techniken anwenden, um MT_Srand und Datumsfunktionen von PHP zu kombinieren, um dieses Ziel zu erreichen.
MT_SRAND : MT_SRAND ist der in PHP verwendete Saatgut zum Einstellen des Mersenne Twister -Zufallszahlengenerators. Seine Funktion besteht darin, den Zufallszahlengenerator zu initialisieren, um sicherzustellen, dass nachfolgende MT_RAND- Aufrufe eine Reihe von Pseudo-Random-Zahlen basierend auf dem angegebenen Samen generieren können.
Datum : Die Datumsfunktion wird verwendet, um die aktuellen Datumsinformationen zu erhalten, die eine formatierte Zeichenfolge zurückgeben. Durch die Verwendung von Daten als Teil des Samens können Sie sicherstellen, dass die Saatgutwerte täglich unterschiedlich sind und so unterschiedliche empfohlene Inhalte generieren.
Wenn wir MT_Srand und Datum kombinieren, können wir reproduzierbare Zufallszahlen erstellen, die auf Daten basieren, ohne sich auf einen externen Speicher (z. B. Datenbanken) und komplexe Algorithmen zu verlassen, wodurch täglich Änderungen im empfohlenen Inhalt erzielt werden.
Im Folgenden verwenden wir ein tatsächliches PHP -Beispiel, um die Erzeugung von täglichen empfohlenen Inhalten basierend auf Daten zu implementieren.
Wir müssen den Saatgut des Zufallszahlengenerators basierend auf dem aktuellen Datum initialisieren. Die Datumsfunktion kann uns helfen, das aktuelle Datum zu erhalten. Normalerweise können wir das YMD -Format (z. B. 20250621) verwenden, um sicherzustellen, dass täglich ein einzigartiger Saatgut erzeugt werden kann.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Holen Sie sich das aktuelle Datum(Jahr-Mond-Tag)</span></span><span>
</span><span><span class="hljs-variable">$today</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'Ymd'</span></span><span>);
</span><span><span class="hljs-comment">// 使用当前Tag期作为 mt_srand Samen von</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mt_srand</span></span><span>((</span><span><span class="hljs-keyword">int</span></span><span>)</span><span><span class="hljs-variable">$today</span></span><span>);
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Im obigen Code gibt Datum ('ymd') eine formatierte Datumszeichenfolge (z. B. 20250621) zurück und wandelt sie in eine Ganzzahl um und übergibt sie an mt_srand . Auf diese Weise unterscheiden sich die Samen jedes Mal, wenn Sie die Seite besuchen, und gewährleisten Änderungen im täglichen empfohlenen Inhalt.
Als nächstes können wir MT_RAND verwenden, um eine Pseudo-Random-Nummer zu generieren und den empfohlenen Inhalt für den Tag basierend auf dieser Zufallszahl auszuwählen. Angenommen, wir haben eine Reihe empfohlener Inhalte, die in einem Array gespeichert sind, und können eine nach Zufallsnummern daraus auswählen.
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Definieren Sie ein empfohlenes Array</span></span><span>
</span><span><span class="hljs-variable">$recommendations</span></span><span> = [
</span><span><span class="hljs-string">'今Tag推荐: Wie man die Programmierungseffizienz verbessert'</span></span><span>,
</span><span><span class="hljs-string">'今Tag推荐: PHP Best Practices in'</span></span><span>,
</span><span><span class="hljs-string">'今Tag推荐: Front-End-Framework Vue.js Studienführer'</span></span><span>,
</span><span><span class="hljs-string">'今Tag推荐: Datenstruktur und Algorithmusstiftung'</span></span><span>,
</span><span><span class="hljs-string">'今Tag推荐: Einführung in das Tutorial für maschinelles Lernen'</span></span><span>
];
</span><span><span class="hljs-comment">// Wählen Sie aus dem empfohlenen Inhalt einen zufälligen Element aus</span></span><span>
</span><span><span class="hljs-variable">$random_index</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mt_rand</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-title function_ invoke__">count</span></span><span>(</span><span><span class="hljs-variable">$recommendations</span></span><span>) - </span><span><span class="hljs-number">1</span></span><span>);
</span><span><span class="hljs-variable">$selected_recommendation</span></span><span> = </span><span><span class="hljs-variable">$recommendations</span></span><span>[</span><span><span class="hljs-variable">$random_index</span></span><span>];
</span><span><span class="hljs-comment">// Ausgabe empfohlener Inhalt</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$selected_recommendation</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Jedes Mal, wenn die Seite geladen wird, erzeugt MT_RAND (0, Count ($ Empfehlungen) - 1) eine Pseudo -Random -Nummer, die auf dem Saatgutwert des Tages basiert, wodurch der empfohlene Inhalt für den Tag ausgewählt wird. Auf diese Weise sehen Benutzer jeden Tag unterschiedliche Inhalte.
Da wir Datum ('YMD') als Saatgutwert verwenden, sieht der Benutzer beim nächsten Besuch derselben Seite weiterhin denselben empfohlenen Inhalt, selbst wenn der Zufallsnummerngenerator des Servers neu gestartet wurde. Dies wird durch mt_srand sichergestellt, um sicherzustellen, dass tägliche Inhalte reproduziert werden können.
Wenn wir die obigen Schritte kombinieren, können wir den gesamten Code in ein vollständiges Beispiel integrieren:
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Holen Sie sich das aktuelle Datum(Jahr-Mond-Tag)</span></span><span>
</span><span><span class="hljs-variable">$today</span></span><span> = </span><span><span class="hljs-title function_ invoke__">date</span></span><span>(</span><span><span class="hljs-string">'Ymd'</span></span><span>);
</span><span><span class="hljs-comment">// 使用当前Tag期作为 mt_srand Samen von</span></span><span>
</span><span><span class="hljs-title function_ invoke__">mt_srand</span></span><span>((</span><span><span class="hljs-keyword">int</span></span><span>)</span><span><span class="hljs-variable">$today</span></span><span>);
</span><span><span class="hljs-comment">// Definieren Sie ein empfohlenes Array</span></span><span>
</span><span><span class="hljs-variable">$recommendations</span></span><span> = [
</span><span><span class="hljs-string">'今Tag推荐: Wie man die Programmierungseffizienz verbessert'</span></span><span>,
</span><span><span class="hljs-string">'今Tag推荐: PHP Best Practices in'</span></span><span>,
</span><span><span class="hljs-string">'今Tag推荐: Front-End-Framework Vue.js Studienführer'</span></span><span>,
</span><span><span class="hljs-string">'今Tag推荐: Datenstruktur und Algorithmusstiftung'</span></span><span>,
</span><span><span class="hljs-string">'今Tag推荐: Einführung in das Tutorial für maschinelles Lernen'</span></span><span>
];
</span><span><span class="hljs-comment">// Wählen Sie aus dem empfohlenen Inhalt einen zufälligen Element aus</span></span><span>
</span><span><span class="hljs-variable">$random_index</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mt_rand</span></span><span>(</span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-title function_ invoke__">count</span></span><span>(</span><span><span class="hljs-variable">$recommendations</span></span><span>) - </span><span><span class="hljs-number">1</span></span><span>);
</span><span><span class="hljs-variable">$selected_recommendation</span></span><span> = </span><span><span class="hljs-variable">$recommendations</span></span><span>[</span><span><span class="hljs-variable">$random_index</span></span><span>];
</span><span><span class="hljs-comment">// Ausgabe empfohlener Inhalt</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$selected_recommendation</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
Durch die Kombination von MT_SRAND- und Datumsfunktionen von PHP können wir problemlos die tägliche Variable, aber reproduzierbare Empfehlungen implementieren. Jedes Mal, wenn ein Benutzer eine Seite besucht, wird ein zufälliger Saatgut basierend auf dem aktuellen Datum generiert, wodurch verschiedene empfohlene Inhalte generiert werden, um sicherzustellen, dass Benutzer, die innerhalb eines Tages auf dieselbe Seite zugreifen, dieselbe Empfehlung erhalten. Diese Methode ist nicht nur einfach und effektiv, sondern verbessert auch die interaktive Erfahrung des Benutzers.