Maison >développement back-end >Problème PHP >Comment générer un tableau aléatoire en php

Comment générer un tableau aléatoire en php

PHPz
PHPzoriginal
2023-04-26 10:21:061172parcourir

En PHP, il existe de nombreuses façons de générer des tableaux de manière aléatoire, parmi lesquelles l'utilisation de la fonction array_rand() peut être l'une des méthodes les plus simples. Ce qui suit présentera en détail l'utilisation de la fonction array_rand() et d'autres façons de générer des tableaux de manière aléatoire.

1. Utilisez la fonction array_rand()

La fonction array_rand() peut renvoyer un ou plusieurs noms de clés aléatoires à partir d'un tableau. Par conséquent, nous devons d'abord créer un tableau, puis utiliser la fonction array_rand() pour en renvoyer aléatoirement un ou plusieurs noms de clé et les utiliser pour créer un nouveau tableau. L'exemple de code est le suivant :

<?php
$my_array = array("a" => "apple", "b" => "banana", "c" => "cherry", "d" => "durian");
$random_keys = array_rand($my_array, 2); // 随机返回2个键名
$random_array = array();
foreach ($random_keys as $key) {
    $random_array[$key] = $my_array[$key];
}
print_r($random_array);
?>

Le code ci-dessus crée d'abord un tableau associatif $my_array contenant 4 éléments, puis utilise la fonction array_rand() pour renvoyer 2 noms de clés aléatoires. Ensuite, en parcourant les noms de clés aléatoires, les éléments correspondants sont copiés dans un nouveau tableau associatif $random_array. En exécutant le code ci-dessus, vous pouvez obtenir le résultat suivant :

Array
(
    [d] => durian
    [a] => apple
)

2. Utilisez la fonction shuffle() et la fonction array_slice()

La fonction shuffle() peut mélanger aléatoirement les éléments d'un tableau, et la fonction array_slice() peut renvoie la partie tableau des éléments. Par conséquent, nous pouvons d'abord utiliser la fonction shuffle() pour brouiller le tableau d'origine, puis utiliser la fonction array_slice() pour renvoyer une partie des éléments, obtenant ainsi un tableau généré aléatoirement. L'exemple de code est le suivant :

<?php
$my_array = array("apple", "banana", "cherry", "durian");
shuffle($my_array); // 打乱原数组的顺序
$random_array = array_slice($my_array, 0, 2); // 返回前2个元素
print_r($random_array);
?>

Le code ci-dessus crée d'abord un tableau d'index $my_array contenant 4 éléments, puis utilise la fonction shuffle() pour mélanger leur ordre. Enfin, utilisez la fonction array_slice() pour renvoyer les 2 premiers éléments et obtenir un tableau d'index généré aléatoirement $random_array. En exécutant le code ci-dessus, vous pouvez obtenir le résultat suivant :

Array
(
    [0] => cherry
    [1] => apple
)

3. Utilisez la fonction range() et la fonction shuffle()

La fonction range() peut générer une période continue d'entiers ou de caractères, et la fonction shuffle() la fonction peut brouiller aléatoirement les éléments d'un tableau dans . Par conséquent, nous pouvons d'abord utiliser la fonction range() pour générer un tableau continu d'entiers ou de caractères, puis utiliser la fonction shuffle() pour perturber leur ordre et obtenir un tableau généré aléatoirement. L'exemple de code est le suivant :

<?php
$my_array = range(1, 10); // 生成1到10这10个连续整数
shuffle($my_array); // 打乱它们的顺序
$random_array = array_slice($my_array, 0, 3); // 返回前3个元素
print_r($random_array);
?>

Le code ci-dessus génère un tableau $my_array contenant 10 entiers consécutifs, puis mélange leur ordre, puis renvoie les 3 premiers éléments pour obtenir un tableau d'index $random_array généré aléatoirement. En exécutant le code ci-dessus, vous pouvez obtenir le résultat suivant :

Array
(
    [0] => 7
    [1] => 5
    [2] => 1
)

Résumé :

Les trois méthodes ci-dessus peuvent être utilisées pour générer des tableaux de manière aléatoire, et différentes méthodes conviennent à différents scénarios. La fonction array_rand() convient pour sélectionner aléatoirement des éléments d'un tableau associatif, la fonction shuffle() convient pour mélanger l'ordre d'un tableau existant et la fonction range() convient pour générer aléatoirement un ensemble d'entiers consécutifs ou. situation de caractère. Différentes méthodes doivent être choisies 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!

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