Maison > développement back-end > Problème PHP > Comment sélectionner aléatoirement plusieurs éléments d'un tableau via PHP

Comment sélectionner aléatoirement plusieurs éléments d'un tableau via PHP

PHPz
Libérer: 2023-04-17 15:09:09
original
1242 Les gens l'ont consulté

Lors de l'écriture de programmes PHP, vous devez souvent effectuer des opérations aléatoires sur des tableaux, comme sélectionner aléatoirement plusieurs éléments d'un tableau. Cet article présentera comment implémenter cette fonction via le langage PHP.

1. Utilisez la fonction array_rand

La fonction array_rand peut sélectionner aléatoirement un nombre spécifié d'éléments dans un tableau. Son prototype de fonction est le suivant :

array array_rand ( array $array , int $num )
Copier après la connexion

Parmi eux, le paramètre $array représente le tableau d'éléments à sélectionner, et le paramètre $num représente le nombre à sélectionner. La fonction renvoie un tableau contenant les clés des éléments du tableau sélectionnés aléatoirement.

Par exemple, nous avons le tableau suivant :

$data = array(
    'apple',
    'banana',
    'orange',
    'pear',
    'peach',
    'grape'
);
Copier après la connexion

Nous voulons sélectionner au hasard 3 éléments de ce tableau et renvoyer le nom de clé de l'élément sélectionné. Le code peut être écrit comme ceci :

$keys = array_rand($data, 3);

print_r($keys);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => 4
    [1] => 2
    [2] => 0
)
Copier après la connexion

Cela signifie que les éléments avec les noms de clé 4, 2 et 0 sont sélectionnés. Nous pouvons accéder à ces éléments en parcourant, par exemple :

foreach ($keys as $key) {
    echo $data[$key] . '<br>';
}
Copier après la connexion

Le résultat de sortie est :

peach
orange
apple
Copier après la connexion

2. Utilisez les fonctions shuffle et array_slice

Une autre façon de sélectionner aléatoirement des éléments d'un tableau est de mélanger l'ordre du tableau, puis retirez les premiers éléments. Les étapes spécifiques sont les suivantes :

  1. Utilisez la fonction shuffle pour perturber l'ordre du tableau.
$data = array(
    'apple',
    'banana',
    'orange',
    'pear',
    'peach',
    'grape'
);

shuffle($data);
Copier après la connexion
  1. Utilisez la fonction array_slice pour supprimer les premiers éléments.
$subset = array_slice($data, 0, 3);

print_r($subset);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => orange
    [1] => grape
    [2] => apple
)
Copier après la connexion

3. Utilisez la fonction rand

Si vous souhaitez sélectionner aléatoirement un élément dans un tableau, vous pouvez également utiliser la fonction rand. Les étapes spécifiques sont les suivantes :

  1. Obtenez le nombre total d'éléments du tableau.
$count = count($data);
Copier après la connexion
  1. Utilisez la fonction rand pour générer un nombre aléatoire compris entre 0 et le nombre total d'éléments du tableau moins 1.
$index = rand(0, $count - 1);
Copier après la connexion
  1. Renvoie l'élément du tableau correspondant au nom de la clé.
echo $data[$index];
Copier après la connexion

Cela implémente la fonction de sélection aléatoire d'un élément dans un tableau.

Résumé

Cet article présente trois méthodes de sélection aléatoire d'éléments dans un tableau, notamment l'utilisation de array_rand, shuffle et array_slice, les fonctions rand. Des méthodes spécifiques peuvent être sélectionnées en fonction de besoins spécifiques, et les performances des différentes méthodes varient également. Dans le développement réel, il est recommandé de choisir la méthode la plus appropriée en fonction de la situation spécifique.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal