Position actuelle: Accueil> Derniers articles> Comment choisir au hasard des éléments dans un tableau à l'aide de srand () et array_rand () en php?

Comment choisir au hasard des éléments dans un tableau à l'aide de srand () et array_rand () en php?

gitbox 2025-08-25
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Cette partie du code n&#39;a rien à voir avec le contenu de l&#39;article,Peut être utilisé comme modèle ou initialisation</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Bienvenue à lire cet article!\n"</span></span><span>;
</span><span><span class="hljs-variable">$timestamp</span></span><span> = </span><span><span class="hljs-title function_ invoke__">time</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Horodatage actuel: <span class="hljs-subst">$timestamp</span></span></span><span>\n";
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/*
titre: Comment utiliser PHP Interne srand() et array_rand() Sélection aléatoire d&#39;éléments du tableau?
*/</span>

</span><span><span class="hljs-comment">// exister PHP milieu,如果你想从一个数组milieu随机Sélectionner一个ou多个元素,Disponible array_rand() fonction。</span></span><span>
</span><span><span class="hljs-comment">// et srand() Utilisé pour définir les graines du générateur de nombres aléatoires(seed),从et让随机数序列可预测(Facile à déboguer)。</span></span><span>

</span><span><span class="hljs-comment">// 1. Exemple de tableau</span></span><span>
</span><span><span class="hljs-variable">$fruits</span></span><span> = [</span><span><span class="hljs-string">"pomme"</span></span><span>, </span><span><span class="hljs-string">"banane"</span></span><span>, </span><span><span class="hljs-string">"orange"</span></span><span>, </span><span><span class="hljs-string">"Raisin"</span></span><span>, </span><span><span class="hljs-string">"pastèque"</span></span><span>];

</span><span><span class="hljs-comment">// 2. utiliser srand() Définir des graines aléatoires</span></span><span>
</span><span><span class="hljs-title function_ invoke__">srand</span></span><span>(</span><span><span class="hljs-number">123</span></span><span>); </span><span><span class="hljs-comment">// La graine peut être n&#39;importe quel entier,La même graine génère la même séquence aléatoire à chaque fois</span></span><span>

</span><span><span class="hljs-comment">// 3. utiliser array_rand() Obtenez des clés aléatoires</span></span><span>
</span><span><span class="hljs-variable">$randomKey</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_rand</span></span><span>(</span><span><span class="hljs-variable">$fruits</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Les fruits sélectionnés au hasard sont: "</span></span><span> . </span><span><span class="hljs-variable">$fruits</span></span><span>[</span><span><span class="hljs-variable">$randomKey</span></span><span>] . </span><span><span class="hljs-string">"\n"</span></span><span>;

</span><span><span class="hljs-comment">// 4. Si vous souhaitez sélectionner plusieurs éléments</span></span><span>
</span><span><span class="hljs-variable">$randomKeys</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_rand</span></span><span>(</span><span><span class="hljs-variable">$fruits</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>); </span><span><span class="hljs-comment">// Sélectionner 3 Éléments aléatoires</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"随机Sélectionner的三种水果是: "</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$randomKeys</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$fruits</span></span><span>[</span><span><span class="hljs-variable">$key</span></span><span>] . </span><span><span class="hljs-string">" "</span></span><span>;
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"\n"</span></span><span>;

</span><span><span class="hljs-comment">// Choses à noter:</span></span><span>
</span><span><span class="hljs-comment">// - array_rand() Renvoie la clé du tableau,et不是值本身。</span></span><span>
</span><span><span class="hljs-comment">// - Si le tableau est très grand ou nécessite un aléatoire plus fort,PHP 7.1+ 也Disponible random_int() ou array_rand() Coopérer shuffle()。</span></span><span>
</span><span><span class="hljs-comment">// - srand() Pas nécessaire,PHP Des graines aléatoires seront générées automatiquement par défaut,但exister调试ou测试时Disponible它确保结果可重复。</span></span><span>

</span><span><span class="hljs-comment">// résumé:</span></span><span>
</span><span><span class="hljs-comment">// utiliser srand() Il peut contrôler la répétabilité de la génération de nombres aléatoires,array_rand() 则方便从数组milieuSélectionner随机元素。</span></span><span>
</span><span><span class="hljs-comment">// 结合utiliser,可以exister调试ou测试场景下得到稳定且可预测的随机结果。</span></span><span>
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>