Maison  >  Article  >  développement back-end  >  Tableau PHP apprenant à obtenir plusieurs éléments de manière aléatoire

Tableau PHP apprenant à obtenir plusieurs éléments de manière aléatoire

青灯夜游
青灯夜游original
2021-08-05 18:13:426036parcourir

Dans l'article précédent, nous avons présenté la méthode de mélange aléatoire des éléments d'un tableau. Si vous êtes intéressé, vous pouvez cliquer pour lire → "Apprentissage des tableaux PHP : tri aléatoire, mélange des éléments du tableau". Dans l'article suivant, nous examinerons le caractère aléatoire et présenterons comment obtenir aléatoirement un ou plusieurs éléments d'un tableau.

En fait, il existe une fonction de tableau array_rand() fournie en PHP. Sa fonction est d'obtenir de manière aléatoire, mais elle ne peut obtenir qu'un ou plusieurs noms de clés de tableau, mais ne peut pas obtenir de valeurs de clés.

Bien que array_rand() ne puisse pas obtenir directement la valeur de la clé du tableau, nous utilisons le nom de clé aléatoire obtenu par array_rand() et ajoutons quelques lignes de code supplémentaires pour obtenir une acquisition aléatoire d'éléments (à la fois le nom de la clé et la valeur de la clé).

Jetons un coup d'œil au code d'implémentation :

<?php
$arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$rand = array_rand($arr);
$arr2[$rand]=$arr[$rand];
var_dump($arr2);
?>

Résultat de sortie :

Tableau PHP apprenant à obtenir plusieurs éléments de manière aléatoire

On peut voir que nous n'obtenons qu'un seul élément au hasard, car l'instruction array_rand($arr) ne peut être qu'aléatoire Obtenir un nom de clé, alors comment obtenir plusieurs noms de clé ? array_rand($arr)语句只能随机获取一个键名,那么如何获取多个键名呢?

只需要给array_rand()函数设置两个参数,第一个参数$array指定数组,而第二个参数$number指定要获取的键名的数目。

<?php
$arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$rand = array_rand($arr,3);
foreach($rand as $val){
	$arr2[$val]=$arr[$val];
}
var_dump($arr2);
?>

当array_rand()函数获取到了多个键名,那么就会返回一个包含随机键名的数组。

这样我们就可以使用foreach语句来遍历$rands数组,不断的根据$rands数组中的键名从$arrs数组中取值,并赋值给新数组$arr2即可。我们来看看输出结果:

Tableau PHP apprenant à obtenir plusieurs éléments de manière aléatoire

刷新一下,结果就改变了:

Tableau PHP apprenant à obtenir plusieurs éléments de manière aléatoire

注:array_rand()如果获取的数量($number)超过了 $array

Vous n'avez besoin de définir que deux paramètres pour la fonction array_rand(). Le premier paramètre $array spécifie le tableau et le deuxième paramètre $number spécifie le nom de la clé à utiliser. être obtenu.

rrreeeTableau PHP apprenant à obtenir plusieurs éléments de manière aléatoireLorsque la fonction array_rand() obtient plusieurs noms de clés, elle renvoie un tableau contenant des noms de clés aléatoires.

De cette façon, nous pouvons utiliser l'instruction foreach pour parcourir le tableau $rands et extraire en continu les données du tableau $arrs en fonction des noms de clés dans le $rands. Récupérez la valeur et attribuez-la au nouveau tableau $arr2. Jetons un coup d'œil au résultat : 3 . png

Actualisez et le résultat change : Tableau PHP apprenant à obtenir plusieurs éléments de manière aléatoire

🎜Remarque : Si le nombre obtenu par array_rand() ($number) dépasse la longueur de $array, cela entraînera Erreur E_WARNING et renvoie NULL. 🎜🎜🎜🎜🎜D'accord, c'est tout. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Tutoriel vidéo php🎜🎜🎜Enfin, je recommande un tutoriel vidéo gratuit sur les tableaux PHP : 🎜Explication vidéo de la fonction tableau de fonctions PHP🎜, venez apprendre ! 🎜

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