Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Array lernt, mehrere Elemente zufällig abzurufen

PHP-Array lernt, mehrere Elemente zufällig abzurufen

青灯夜游
Freigeben: 2023-04-10 14:22:02
Original
6164 Leute haben es durchsucht

Im vorherigen Artikel haben wir die Methode zum zufälligen Mischen von Array-Elementen vorgestellt. Wenn Sie interessiert sind, können Sie auf klicken, um → „PHP-Array-Lernen: Zufälliges Sortieren, Mischen von Array-Elementen“ zu lesen. Im folgenden Artikel werfen wir einen Blick auf die Zufälligkeit und stellen vor, wie man zufällig ein oder mehrere Array-Elemente erhält.

Tatsächlich gibt es in PHP eine Array-Funktion array_rand(). Ihre Funktion besteht darin, zufällig abzurufen, sie kann jedoch nur einen oder mehrere Array-Schlüsselnamen, aber keine Schlüsselwerte abrufen.

Obwohl array_rand() den Array-Schlüsselwert nicht direkt ermitteln kann, verwenden wir den von array_rand() erhaltenen zufälligen Schlüsselnamen und fügen ein paar weitere Codezeilen hinzu, um eine zufällige Erfassung von Elementen (sowohl Schlüsselname als auch Schlüsselwert) zu erreichen.

Werfen wir einen Blick auf den Implementierungscode:

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

Ausgabeergebnis:


PHP-Array lernt, mehrere Elemente zufällig abzurufen

Es ist ersichtlich, dass wir aufgrund der array_rand($arr)-Anweisung nur ein Element zufällig erhalten kann nur zufällig sein. Erhalten Sie einen Schlüsselnamen. Wie erhalten Sie also mehrere Schlüsselnamen?

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);
?>
Nach dem Login kopieren

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

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

PHP-Array lernt, mehrere Elemente zufällig abzurufen

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

PHP-Array lernt, mehrere Elemente zufällig abzurufen

注:array_rand()如果获取的数量($number)超过了 $arraySie müssen nur zwei Parameter für die Funktion array_rand() festlegen. Der erste Parameter $array gibt das Array an und der zweite Parameter $number gibt den Schlüsselnamen an erhalten werden.

rrreee

Wenn die Funktion array_rand() mehrere Schlüsselnamen erhält, gibt sie ein Array mit zufälligen Schlüsselnamen zurück. PHP-Array lernt, mehrere Elemente zufällig abzurufen

Auf diese Weise können wir die foreach-Anweisung verwenden, um das Array $rands zu durchlaufen und kontinuierlich Daten aus dem Array $arrs basierend auf den Schlüsselnamen im $rands-Array. Holen Sie sich den Wert daraus und weisen Sie ihn dem neuen Array $arr2 zu. Werfen wir einen Blick auf die Ausgabe:

3 .png

Aktualisieren und das Ergebnis ändert sich:

PHP-Array lernt, mehrere Elemente zufällig abzurufen

Hinweis: Wenn die von array_rand() ($number) erhaltene Zahl die Länge von $array überschreitet, wird dies verursacht E_WARNING-Fehler und gibt NULL zurück. 🎜🎜🎜🎜🎜Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜php-Video-Tutorial🎜🎜🎜Abschließend empfehle ich ein kostenloses Video-Tutorial zu PHP-Arrays: 🎜PHP-Funktions-Array-Array-Funktions-Video-Erklärung🎜, kommen Sie und lernen Sie! 🎜

Das obige ist der detaillierte Inhalt vonPHP-Array lernt, mehrere Elemente zufällig abzurufen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage