隨機抽取就是將原有陣列的元素打亂後輸出,這表示每次執行後,抽取的順序或元素都不同,該功能可以用來在網頁上每次顯示不同的廣告以shuffle()函數實作陣列的隨機抽取:
<?php $textArray = array('1','2','3','4','5','6','7'); shuffle($textArray); print_r($textArray); ?>
結果如下顯示:
Array ( [0] => 6 [1] => 3 [2] => 7 [3] => 4 [4] => 1 [5] => 2 [6] => 5 )
實作的陣列元素的隨機排序;
#另外php也提供了從陣列中隨機抽取值的函數:array_rand() ,其呼叫格式如下:
array_rand(<陣列>,[抽取元素的數量]);
<?php $arry = array('A','B','C','D'); $result = array_rand($arry,2); foreach ($result as $val) { echo $arry["$val"].""; } ?>
結果顯示如下:B C 刷新有不同的結果;
傳回一個包含隨機鍵名的陣列:
<?php $a=array("red","green","blue","yellow","brown"); $random_keys=array_rand($a,3);echo $a[$random_keys[0]]."<br>"; echo $a[$random_keys[1]]."<br>";echo $a[$random_keys[2]]; ?>
定義和用法
array_rand() 函數傳回數組中的一個隨機鍵名,或者如果指定函數傳回鍵名不只一個,則傳回一個包含隨機鍵名的數組。
語法
array_rand(array,number)
參數 說明
array 必要。規定數組。
number 可選。規定回傳多少個隨機的元素。
傳回值:
傳回陣列中的一個隨機鍵名,或指定函數傳回鍵名不只一個,則傳回一個包含隨機鍵名的陣列。
傳回數組中的一個隨機鍵名:
<?php $a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); print_r(array_rand($a,1)); ?>
返回一個包含隨機字串鍵名的陣列:
<?php $a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); print_r(array_rand($a,2)); ?>
以上是php把數組中的元素依隨機順序重新排列的函數array_rand的詳細內容。更多資訊請關注PHP中文網其他相關文章!