Maison  >  Article  >  développement back-end  >  Comment obtenir aléatoirement plusieurs éléments d'un tableau en PHP

Comment obtenir aléatoirement plusieurs éléments d'un tableau en PHP

王林
王林original
2023-07-07 11:14:381143parcourir

Comment obtenir aléatoirement plusieurs éléments d'un tableau en PHP

Dans le développement PHP, nous rencontrons souvent des scénarios où nous devons obtenir aléatoirement plusieurs éléments d'un tableau. Par exemple, dans le développement de jeux, vous devez sélectionner au hasard plusieurs prix chanceux, ou lors de l'affichage aléatoire du contenu recommandé, vous devez en sélectionner quelques-uns au hasard parmi un ensemble de données et les afficher à l'utilisateur. Cet article présentera plusieurs façons d'obtenir aléatoirement plusieurs éléments d'un tableau en PHP et donnera des exemples de code correspondants.

  1. Utilisez la fonction array_rand

La fonction array_rand est une fonction intégrée en PHP qui sélectionne aléatoirement les éléments d'un tableau. Elle peut être utilisée pour obtenir aléatoirement plusieurs éléments d'un tableau. Le prototype de cette fonction est :

mixed array_rand ( array $array [, int $num = 1 ] )

Parmi eux, $array est le tableau dans lequel les éléments doivent être sélectionnés, $num est le nombre d'éléments à être obtenu aléatoirement, et la valeur par défaut est 1. La valeur de retour de cette fonction est un nom de clé sélectionné au hasard ou un tableau de noms de clés.

Ce qui suit est un exemple de code qui utilise la fonction array_rand pour obtenir aléatoirement plusieurs éléments d'un tableau :

<?php
$fruits = array("apple", "banana", "orange", "grape", "kiwi");
$randomKeys = array_rand($fruits, 2);
$randomFruits = array();
foreach ($randomKeys as $key) {
  $randomFruits[] = $fruits[$key];
}
print_r($randomFruits);
?>

Dans le code ci-dessus, nous définissons un tableau $fruits contenant 5 sortes de fruits. Ensuite, utilisez la fonction array_rand pour sélectionner aléatoirement 2 éléments du tableau $fruits et stocker les éléments sélectionnés dans le tableau $randomKeys. Ensuite, nous utilisons une boucle foreach pour parcourir le tableau $randomKeys et stocker les éléments sélectionnés dans le tableau $randomFruits via les noms de clés du tableau. Enfin, utilisez la fonction print_r pour générer le tableau $randomFruits, qui est composé de deux fruits obtenus aléatoirement.

  1. Utilisez la fonction shuffle et la fonction array_slice

La fonction shuffle peut trier le tableau de manière aléatoire et la fonction array_slice peut obtenir des tranches de longueur spécifiée à partir du tableau. La combinaison de ces deux fonctions peut obtenir l'effet d'obtenir aléatoirement plusieurs éléments d'un tableau. Ce qui suit est un exemple de code qui utilise la fonction shuffle et la fonction array_slice pour obtenir aléatoirement plusieurs éléments d'un tableau :

<?php
$animals = array("dog", "cat", "rabbit", "turtle", "hamster");
shuffle($animals);
$randomAnimals = array_slice($animals, 0, 3);
print_r($randomAnimals);
?>

Dans le code ci-dessus, nous définissons un tableau $animals contenant 5 types d'animaux. Ensuite, utilisez la fonction shuffle pour trier aléatoirement le tableau $animals, c'est-à-dire mélanger aléatoirement les éléments du tableau. Ensuite, utilisez la fonction array_slice pour obtenir une tranche de longueur 3 à partir du tableau $animals brouillé et stockez la tranche dans le tableau $randomAnimals. Enfin, utilisez la fonction print_r pour générer le tableau $randomAnimals, qui contient les trois animaux obtenus aléatoirement.

  1. Utiliser des fonctions personnalisées

En plus d'utiliser des fonctions intégrées, nous pouvons également écrire nos propres fonctions pour obtenir la fonction d'obtenir aléatoirement plusieurs éléments d'un tableau. Ce qui suit est un exemple de code qui utilise une fonction personnalisée pour obtenir aléatoirement plusieurs éléments d'un tableau :

<?php
function getRandomArrayElements($arr, $num) {
  $count = count($arr);
  if ($num >= $count) {
    return $arr;
  }
  $keys = array_rand($arr, $num);
  $randomArr = array();
  foreach ($keys as $key) {
    $randomArr[] = $arr[$key];
  }
  return $randomArr;
}

$colors = array("red", "blue", "yellow", "green", "purple");
$randomColors = getRandomArrayElements($colors, 4);
print_r($randomColors);
?>

Dans le code ci-dessus, nous définissons une fonction personnalisée getRandomArrayElements, qui accepte deux paramètres : $arr est l'élément à partir duquel sélectionner le tableau. , $num est le nombre d'éléments à obtenir aléatoirement. La fonction calcule d'abord la longueur du tableau $count. Si le nombre d'éléments obtenus est supérieur ou égal à la longueur du tableau, le tableau entier est renvoyé directement. Sinon, utilisez la fonction array_rand pour sélectionner aléatoirement les noms de clé des éléments $num, puis récupérez les éléments correspondants du tableau d'origine via les noms de clé et stockez-les dans le tableau $randomArr. Enfin, le tableau $randomArr est renvoyé, qui est l'élément obtenu aléatoirement.

Pour résumer, cet article présente trois méthodes pour obtenir aléatoirement plusieurs éléments d'un tableau en PHP et donne des exemples de code correspondants. Les développeurs peuvent choisir une méthode appropriée en fonction des besoins réels pour implémenter la fonction d'obtention aléatoire de plusieurs éléments d'un tableau afin de répondre aux besoins de différents scénarios.

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