Maison  >  Article  >  développement back-end  >  Comment extraire aléatoirement plusieurs éléments d'un tableau php (trois méthodes)

Comment extraire aléatoirement plusieurs éléments d'un tableau php (trois méthodes)

PHPz
PHPzoriginal
2023-04-12 09:18:572698parcourir

Dans le développement PHP, nous avons souvent besoin d'extraire aléatoirement plusieurs éléments d'un tableau. Parfois, nous devons sélectionner au hasard quelques utilisateurs chanceux dans une liste d'utilisateurs pour offrir des cadeaux. Ou bien, nous devons sélectionner au hasard plusieurs plats dans un menu comme plats recommandés. Cet article explique comment extraire aléatoirement plusieurs éléments d'un tableau en PHP.

Méthode 1 : utilisez les fonctions shuffle et array_slice

La fonction shuffle peut mélanger les éléments du tableau et réorganiser aléatoirement chaque élément du tableau. Ensuite, utilisez la fonction array_slice pour extraire un certain nombre d'éléments du tableau. Cette méthode est simple et facile à comprendre et convient aux petits tableaux.

Le code est le suivant :

<?php
$array = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;pear&#39;);
shuffle($array);
$rand_keys = array_rand($array, 3);
$result = array_slice($array, $rand_keys[0], 3);
print_r($result);
?>

Analyse :

  1. Définissez un tableau $array, contenant 6 éléments.
  2. Utilisez la fonction shuffle pour trier aléatoirement les éléments du tableau.
  3. Utilisez la fonction array_rand pour extraire aléatoirement les positions d'index de 3 éléments du tableau brouillé.
  4. Utilisez la fonction array_slice pour obtenir 3 éléments aléatoires du tableau.
  5. Enfin, imprimez les résultats.

Méthode 2 : Utiliser la fonction array_rand

La fonction array_rand peut renvoyer directement l'index d'un ou plusieurs éléments aléatoires du tableau. Cette méthode fonctionne pour les grands tableaux.

Le code est le suivant :

<?php
$array = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;pear&#39;);
$rand_keys = array_rand($array, 3);
$result = array();
foreach ($rand_keys as $key) {
    $result[] = $array[$key];
}
print_r($result);
?>

Analyse :

  1. Définissez un tableau $array, contenant 6 éléments.
  2. Utilisez la fonction array_rand pour récupérer les positions d'index de 3 éléments aléatoires du tableau.
  3. Utilisez une boucle foreach pour ajouter des éléments pris au hasard au tableau de résultats.
  4. Enfin, imprimez les résultats.

Méthode 3 : utilisez la fonction mt_rand

La fonction mt_rand peut renvoyer un entier aléatoire dans une plage spécifiée, elle peut donc être utilisée pour générer des clés de tableau aléatoires. Cette méthode est relativement inefficace et adaptée aux petits tableaux.

Le code est le suivant :

<?php
$array = array(&#39;apple&#39;, &#39;banana&#39;, &#39;orange&#39;, &#39;watermelon&#39;, &#39;grape&#39;, &#39;pear&#39;);
$keys = array_keys($array);
$total = count($keys);
$pick_num = 3;
$rand_keys = array();
$result = array();
while (count($rand_keys) < $pick_num) {
    $rand_keys[] = $keys[mt_rand(0, $total-1)];
}
foreach ($rand_keys as $key) {
    $result[] = $array[$key];
}
print_r($result);
?>

Analyse :

  1. Définissez un tableau $array, contenant 6 éléments.
  2. Utilisez la fonction array_keys pour obtenir le tableau $key, qui est la collection de clés.
  3. Obtenez la longueur totale du tableau $total.
  4. Définissez la variable $pick_num, qui représente le nombre d'éléments à retirer.
  5. Définissez un tableau $rand_keys pour stocker les clés récupérées aléatoirement.
  6. Utilisez une boucle pour générer de véritables clés aléatoires Lorsque le nombre de $rand_keys atteint $pick_num, sortez de la boucle.
  7. Utilisez une boucle foreach pour ajouter des éléments pris au hasard au tableau de résultats.
  8. Enfin, imprimez les résultats.

Ci-dessus sont trois façons de sélectionner aléatoirement plusieurs éléments d'un tableau PHP. Différentes méthodes peuvent être sélectionnées en fonction de la situation réelle. Pour les grands tableaux, la fonction array_rand peut être sélectionnée, etc. Cette opération semble simple, mais elle peut améliorer l’expérience produit, renforcer le plaisir et enrichir l’expérience utilisateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn