Position actuelle: Accueil> Derniers articles> Comment utiliser la date MT_SRAND Plus pour construire des changements quotidiens mais reproductibles du contenu recommandé? Enseignement de la méthode

Comment utiliser la date MT_SRAND Plus pour construire des changements quotidiens mais reproductibles du contenu recommandé? Enseignement de la méthode

gitbox 2025-07-09

Comment utiliser la date MT_SRAND Plus pour construire des changements quotidiens mais reproductibles du contenu recommandé? Enseignement de la méthode

Dans les systèmes de recommandation, nous voulons généralement que le contenu recommandé soit différent chaque jour pour améliorer l'expérience utilisateur. Cependant, comment s'assurer que le contenu recommandé change et peut être reproduit par le système chaque fois que l'utilisateur visite? Cela nous oblige à utiliser certaines techniques intelligentes pour combiner les fonctions MT_SRAND et Date de PHP pour atteindre cet objectif.

Pourquoi utiliser mt_srand et date ?

  1. MT_SRAND : MT_SRAND est la graine utilisée en PHP pour définir le générateur de nombres aléatoires Mersenne Twister. Sa fonction est d'initialiser le générateur de nombres aléatoires pour s'assurer que les appels MT_RAND ultérieurs peuvent générer une série de nombres pseudo-aléatoires basés sur la graine donnée.

  2. Date : La fonction de date est utilisée pour obtenir les informations de date actuelles, qui renvoie une chaîne formatée. En utilisant les dates dans le cadre de la graine, vous pouvez vous assurer que les valeurs de graines seront différentes chaque jour, générant ainsi un contenu recommandé différents.

En combinant MT_SRAND et DATE , nous pouvons générer des nombres aléatoires reproductibles basés sur des dates sans s'appuyer sur le stockage externe (tel que les bases de données) et les algorithmes complexes, réalisant ainsi les modifications du contenu recommandé chaque jour.

Comment créer des modifications quotidiennes recommandées?

Ci-dessous, nous utilisons un exemple de PHP réel pour implémenter la génération de contenu recommandé quotidiennement en fonction des dates.

Étape 1: Initialisez le générateur de nombres aléatoires

Nous devons initialiser la graine du générateur de nombres aléatoires en fonction de la date actuelle. La fonction de date peut nous aider à obtenir la date actuelle. Habituellement, nous pouvons utiliser le format YMD (par exemple: 20250621) pour nous assurer qu'une graine unique peut être générée chaque jour.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Obtenez la date actuelle(Année-lune-jour)</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">// 使用当前jour期作为 mt_srand Graines</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">?&gt;</span></span><span>
</span></span>

Dans le code ci-dessus, la date ('ymd') renvoie une chaîne de date formatée (telle que 20250621) et la convertit en entier et la transmet à MT_SRAND . De cette façon, les graines seront différentes à chaque fois que vous visitez la page, assurant des modifications du contenu recommandé quotidiennement.

Étape 2: Générez du contenu recommandé quotidien

Ensuite, nous pouvons utiliser MT_RAND pour générer un numéro pseudo-aléatoire et sélectionner le contenu recommandé pour la journée en fonction de ce nombre aléatoire. Supposons que nous ayons un ensemble de contenu recommandé stocké dans un tableau, et nous pouvons en sélectionner un par des nombres aléatoires.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Définir un tableau recommandé</span></span><span>
</span><span><span class="hljs-variable">$recommendations</span></span><span> = [
    </span><span><span class="hljs-string">'今jour推荐: Comment améliorer l&#39;efficacité de la programmation'</span></span><span>,
    </span><span><span class="hljs-string">'今jour推荐: PHP Meilleures pratiques dans'</span></span><span>,
    </span><span><span class="hljs-string">'今jour推荐: Cadre frontal Vue.js Guide d&#39;étude'</span></span><span>,
    </span><span><span class="hljs-string">'今jour推荐: Structure de données et fondation d&#39;algorithme'</span></span><span>,
    </span><span><span class="hljs-string">'今jour推荐: Tutoriel d&#39;introduction à l&#39;apprentissage automatique'</span></span><span>
];

</span><span><span class="hljs-comment">// Choisissez un élément aléatoire dans le contenu recommandé</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">// Sortie contenu recommandé</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">?&gt;</span></span><span>
</span></span>

Chaque fois que la page se charge, MT_RAND (0, Count ($ recommandations) - 1) génère un numéro de pseudo-aléatoire en fonction de la valeur des semences du jour, sélectionnant ainsi le contenu recommandé pour la journée. De cette façon, les utilisateurs verront différents contenus chaque jour.

Étape 3: Assurez-vous que le contenu peut être reproduit

Parce que nous utilisons Date ('YMD') comme valeur de semence, la prochaine fois que nous visiterons la même page, l'utilisateur verra toujours le même contenu recommandé même si le générateur de nombres aléatoires du serveur a été redémarré. Ceci est assuré par MT_SRAND , garantissant que le contenu quotidien peut être reproduit.

Exemple de code complet

En combinant les étapes ci-dessus, nous pouvons intégrer tout le code dans un exemple complet:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Obtenez la date actuelle(Année-lune-jour)</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">// 使用当前jour期作为 mt_srand Graines</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">// Définir un tableau recommandé</span></span><span>
</span><span><span class="hljs-variable">$recommendations</span></span><span> = [
    </span><span><span class="hljs-string">'今jour推荐: Comment améliorer l&#39;efficacité de la programmation'</span></span><span>,
    </span><span><span class="hljs-string">'今jour推荐: PHP Meilleures pratiques dans'</span></span><span>,
    </span><span><span class="hljs-string">'今jour推荐: Cadre frontal Vue.js Guide d&#39;étude'</span></span><span>,
    </span><span><span class="hljs-string">'今jour推荐: Structure de données et fondation d&#39;algorithme'</span></span><span>,
    </span><span><span class="hljs-string">'今jour推荐: Tutoriel d&#39;introduction à l&#39;apprentissage automatique'</span></span><span>
];

</span><span><span class="hljs-comment">// Choisissez un élément aléatoire dans le contenu recommandé</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">// Sortie contenu recommandé</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">?&gt;</span></span><span>
</span></span>

résumé

En combinant les fonctions MT_SRAND et Date de PHP, nous pouvons facilement implémenter des recommandations de variables quotidiennes mais reproductibles. Chaque fois qu'un utilisateur visite une page, une graine aléatoire sera générée en fonction de la date actuelle, générant ainsi différents contenus recommandés, garantissant que les utilisateurs qui accèdent à la même page dans le jour obtiennent la même recommandation. Cette méthode est non seulement simple et efficace, mais améliore également l'expérience interactive de l'utilisateur.