首頁 >後端開發 >php教程 >php 陣列隨機取值的簡單實例

php 陣列隨機取值的簡單實例

不言
不言原創
2018-06-04 09:17:512553瀏覽

這篇文章主要介紹了關於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 &#39;<img src="&#39;.$image[$rn].&#39;">&#39;;

把上面的程式碼組合起來就可以了。

srand((float) microtime() * 10000000);  
$image[1]=&#39;/location/of/image1.jpg&#39;;  
$image[2]=&#39;/location/of/image2.jpg&#39;;  
$image[3]=&#39;/location/of/image3.jpg&#39;;  
$image[4]=&#39;/location/of/image4.jpg&#39;;  
$image[5]=&#39;/location/of/image5.jpg&#39;;  
$rn = array_rand($image);  
echo &#39;<img src="&#39;.$image[$rn].&#39;">&#39;;

以上的程式碼是我們隨機顯示圖片的程式碼,如果我們想讓每個圖片再加上各自的連線位址那麼我們把上述的程式碼稍微改動下就可以了!把上述的數組改為二維數組:

$image[1][&#39;pic&#39;]=&#39;/location/of/image1.jpg&#39;;  
$image[1][&#39;link&#39;]=&#39;/location/of/link1.php&#39;;

對應的顯示代碼為:

echo &#39;<a href="&#39;.$image[$rn][&#39;link&#39;].&#39;">&#39;;  
echo &#39;<img src="&#39;.$image[$rn][&#39;pic&#39;].&#39;">&#39;;

那麼我們就可以完成我們標題的功能了,隨機顯示圖片並且連接到不同的指定的位址:

srand((float) microtime() * 10000000);  
$image[1][&#39;pic&#39;]=&#39;/location/of/image1.jpg&#39;;  
$image[1][&#39;link&#39;]=&#39;/location/of/link1.php&#39;;  
$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 &#39;<a href="&#39;.$image[$rn][&#39;link&#39;].&#39;">&#39;;  
echo &#39;<img src="&#39;.$image[$rn][&#39;pic&#39;].&#39;">&#39;;

相關推薦:

PHP陣列編碼gbk與utf8互相轉換的兩個方法實例分享

PHP數組相加操作及與array_merge的區別

以上是php 陣列隨機取值的簡單實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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