php 數(shù)組隨機(jī)取值的簡單實(shí)例
來源:易賢網(wǎng) 閱讀:682 次 日期:2016-08-19 14:41:45
溫馨提示:易賢網(wǎng)小編為您整理了“php 數(shù)組隨機(jī)取值的簡單實(shí)例”,方便廣大網(wǎng)友查閱!

array_rand() 在你想從數(shù)組中取出一個(gè)或多個(gè)隨機(jī)的單元時(shí)相當(dāng)有用。它接受 input 作為輸入數(shù)組和一個(gè)可選的參數(shù) num_req,指明了你想取出多少個(gè)單元 - 如果沒有指定,默認(rèn)為 1。

array_rand -- 從數(shù)組中隨機(jī)取出一個(gè)或多個(gè)單元

mixed array_rand ( array input [, int num_req])

array_rand() 在你想從數(shù)組中取出一個(gè)或多個(gè)隨機(jī)的單元時(shí)相當(dāng)有用。它接受 input 作為輸入數(shù)組和一個(gè)可選的參數(shù) num_req,指明了你想取出多少個(gè)單元 - 如果沒有指定,默認(rèn)為 1。

如果你只取出一個(gè),array_rand() 返回一個(gè)隨機(jī)單元的鍵名,否則就返回一個(gè)包含隨機(jī)鍵名的數(shù)組。這樣你就可以隨機(jī)從數(shù)組中取出鍵名和值。

不要忘記調(diào)用 srand() 來撒下隨機(jī)數(shù)發(fā)生器的種子。

例子 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";

我們曾經(jīng)訪問過這樣的網(wǎng)站,每次刷新banner都隨機(jī)的變化,在這篇文章中,我們將給大家介紹用PHP來實(shí)現(xiàn)這個(gè)功能。

步驟

程序?qū)崿F(xiàn)的原理是:調(diào)用一個(gè)數(shù)組,每個(gè)圖象對應(yīng)一個(gè)數(shù)組中的元素,然后我們設(shè)置隨機(jī)數(shù),只要隨機(jī)得到一個(gè)數(shù)據(jù)就可以顯示一副圖象了。

第一個(gè)步是我們來產(chǎn)生一個(gè)隨機(jī)數(shù)。每次刷新時(shí)我們都得到不同的隨機(jī)數(shù),具體代碼為:

srand((float) microtime() * 10000000);

之后我們設(shè)置一個(gè)數(shù)組為image,然后再設(shè)置5個(gè)數(shù)組元素,代碼如下:

$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';

下面的代碼實(shí)現(xiàn)的功能是從數(shù)組中隨機(jī)選擇一個(gè)元素:

$rn = array_rand($image);

然后我們來顯示一個(gè)隨機(jī)的圖片:

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].'">';

以上的代碼是我們隨機(jī)顯示圖片的代碼,如果我們想使每個(gè)圖片再加上各自的連接地址那么我們把上述的代碼稍微改動(dòng)下就可以了!把上述的數(shù)組改為二維數(shù)組:

$image[1]['pic']='/location/of/image1.jpg';

$image[1]['link']='/location/of/link1.php';

相應(yīng)的顯示代碼為:

echo '<a href="'.$image[$rn]['link'].'">';

echo '<img src="'.$image[$rn]['pic'].'">';

那么我們就可以完成我們標(biāo)題的功能了,隨機(jī)顯示圖片并且連接到不同的指定的地址:

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'].'">';

你可以把上面的代碼拷到你的網(wǎng)頁中去運(yùn)行了。祝你好運(yùn)

以上這篇php 數(shù)組隨機(jī)取值的簡單實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:php 數(shù)組隨機(jī)取值的簡單實(shí)例
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)