這篇文章主要介紹php 陣列隨機取值的方法及簡單實例,有興趣的朋友參考下,希望對大家有幫助。
array_rand() 在你想要從陣列中取出一個或多個隨機的單元時相當有用。它接受 input 作為輸入數組和一個可選的參數 num_req,指明了你想取出多少個單元 - 如果沒有指定,預設為 1。
array_rand -- 從陣列中隨機取出一個或多個單元
mixed array_rand ( array input [, int num_req])
array_rand() 在你想要從陣列中取出一個或多個隨機的單元時相當有用。它接受 input 作為輸入數組和一個可選的參數 num_req,指明了你想取出多少個單元 - 如果沒有指定,預設為 1。
如果你只拿一個,array_rand() 傳回一個隨機單元的鍵名,否則就回傳一個包含隨機鍵名的陣列。這樣你就可以隨機從陣列中取出鍵名和值。
不要忘記呼叫 srand() 來撒下隨機數字產生器的種子。
範例1. array_rand() 範例
srand ((float) microtime() * 10000000); $input = array ("Neo", "Morpheus", "Trinity", "Cypher", "Tank"); $rand_keys = array_rand ($input, 2); print $input[$rand_keys[0]]."\n"; print $input[$rand_keys[1]]."\n";
我們曾經造訪過這樣的網站,每次刷新banner都隨機的變化,在這篇文章中,我們將介紹給大家用PHP來實現這個功能。
步驟
程式實現的原理是:呼叫一個數組,每個圖象對應一個數組中的元素,然後我們設定隨機數,只要隨機得到一個資料就可以顯示一副圖象了。
第一步是我們來產生一個隨機數。每次刷新時我們都得到不同的隨機數,具體程式碼為:
srand((float) microtime() * 10000000);
之後我們設定一個陣列為image,然後再設定5個陣列元素,程式碼如下:
$image[1]='/location/of/image1.jpg'; $image[2]='/location/of/image2.jpg'; $image[3]='/location/of/image3.jpg'; $image[4]='/location/of/image4.jpg'; $image[5]='/location/of/image5.jpg';
下面的程式碼實作的功能是從陣列中隨機選擇一個元素:
$rn = array_rand($image);
然後我們來顯示一個隨機的圖片:
echo '<img src="'.$image[$rn].'">';
把上面的程式碼組合起來就可以了。
srand((float) microtime() * 10000000); $image[1]='/location/of/image1.jpg'; $image[2]='/location/of/image2.jpg'; $image[3]='/location/of/image3.jpg'; $image[4]='/location/of/image4.jpg'; $image[5]='/location/of/image5.jpg'; $rn = array_rand($image); echo '<img src="'.$image[$rn].'">';
以上的程式碼是我們隨機顯示圖片的程式碼,如果我們想要讓每個圖片再加上各自的連線位址那麼我們把上述的程式碼稍微改動下就可以了!把上述的陣列改為二維數組:
$image[1]['pic']='/location/of/image1.jpg'; $image[1]['link']='/location/of/link1.php';
#對應的顯示程式碼為:
##
echo '<a href="'.$image[$rn]['link'].'">'; echo '<img src="'.$image[$rn]['pic'].'">';
##那麼我們就可以完成我們標題的功能了,隨機顯示圖片並且連接到不同的指定的地址:
srand((float) microtime() * 10000000);
$image[1]['pic']='/location/of/image1.jpg';
$image[1]['link']='/location/of/link1.php';
$image[2]['pic']='/location/of/image2.jpg';
$image[2]['link']='/location/of/link2.php';
$image[3]['pic']='/location/of/image3.jpg';
$image[3]['link']='/location/of/link3.php';
$image[4]['pic']='/location/of/image4.jpg';
$image[4]['link']='/location/of/link4.php';
$image[5]['pic']='/location/of/image5.jpg';
$image[5]['link']='/location/of/link5.php';
$rn = array_rand($image);
echo '<a href="'.$image[$rn]['link'].'">';
echo '<img src="'.$image[$rn]['pic'].'">';
以上是php 陣列隨機取值的方法及簡單實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!