首頁  >  文章  >  後端開發  >  PHP數組學習隨機取得多個元素

PHP數組學習隨機取得多個元素

青灯夜游
青灯夜游原創
2021-08-05 18:13:426101瀏覽

在先前的文章中我們介紹了隨機打亂數組元素的方法,有興趣的可以點選查閱→《PHP數組學習之隨機排序,打亂數組元素》。下面這篇文章我們在來看看隨機,介紹一下隨機取得一個或多個陣列元素的方法。

其實PHP中提供有一個陣列函數array_rand(),它的作用就是隨機獲取,但只能取得一個或多個陣列鍵名,無法取得鍵值。

array_rand()雖然無法直接取得陣列鍵值,但我們利用array_rand()取得的隨機鍵名,再多加入幾句程式碼來實作隨機取得元素(鍵名和鍵值都有)。

我們來看看實作程式碼:

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

輸出結果:

PHP數組學習隨機取得多個元素

#可以看出:我們只隨機取得到了一個元素,因為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即可。我們來看看輸出結果:

PHP數組學習隨機取得多個元素

刷新一下,結果就改變了:

PHP數組學習隨機取得多個元素

註:array_rand()如果取得的數量($number)超過了$array 的長度,就會導致E_WARNING 錯誤,並且傳回NULL。

PHP數組學習隨機取得多個元素

好了就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學

最後推薦給大家一個PHP陣列的免費影片教學:PHP函數之array陣列函數影片講解,快來學習吧!

以上是PHP數組學習隨機取得多個元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn