php 數(shù)組隨機(jī)取值的簡(jiǎn)單實(shí)例
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() 來(lái)撒下隨機(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";
我們?cè)?jīng)訪問過這樣的網(wǎng)站,每次刷新banner都隨機(jī)的變化,在這篇文章中,我們將給大家介紹用PHP來(lái)實(shí)現(xiàn)這個(gè)功能。
步驟
程序?qū)崿F(xiàn)的原理是:調(diào)用一個(gè)數(shù)組,每個(gè)圖象對(duì)應(yīng)一個(gè)數(shù)組中的元素,然后我們?cè)O(shè)置隨機(jī)數(shù),只要隨機(jī)得到一個(gè)數(shù)據(jù)就可以顯示一副圖象了。
第一個(gè)步是我們來(lái)產(chǎn)生一個(gè)隨機(jī)數(shù)。每次刷新時(shí)我們都得到不同的隨機(jī)數(shù),具體代碼為:
srand((float) microtime() * 10000000);
之后我們?cè)O(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);
然后我們來(lái)顯示一個(gè)隨機(jī)的圖片:
echo '<img src="'.$image[$rn].'">';
把上面的代碼組合起來(lái)就可以了。
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è)中去運(yùn)行了。祝你好運(yùn)
以上這篇php 數(shù)組隨機(jī)取值的簡(jiǎn)單實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- php數(shù)組函數(shù)序列 之shuffle()和array_rand() 隨機(jī)函數(shù)使用介紹
- php使用array_rand()函數(shù)從數(shù)組中隨機(jī)選擇一個(gè)或多個(gè)元素
- php 利用array_slice函數(shù)獲取隨機(jī)數(shù)組或前幾條數(shù)據(jù)
- php中通過數(shù)組進(jìn)行高效隨機(jī)抽取指定條記錄的算法
- php生成不重復(fù)隨機(jī)數(shù)、數(shù)組的4種方法分享
- php獲取隨機(jī)數(shù)組列表的方法
- php數(shù)組隨機(jī)排序?qū)崿F(xiàn)方法
- php將字符串隨機(jī)分割成不同長(zhǎng)度數(shù)組的方法
- php對(duì)數(shù)組內(nèi)元素進(jìn)行隨機(jī)調(diào)換的方法
- php 從一個(gè)數(shù)組中隨機(jī)的取出若干個(gè)不同的數(shù)實(shí)例
相關(guān)文章
php實(shí)現(xiàn)session共享的實(shí)例方法
在本篇文章里小編給大家整理的是關(guān)于php如何實(shí)現(xiàn)session共享知識(shí)點(diǎn)內(nèi)容,有需要的朋友們跟著學(xué)習(xí)參考下。2019-09-09paypal即時(shí)到賬php實(shí)現(xiàn)代碼
paypal即時(shí)到賬php實(shí)現(xiàn)代碼,需要的朋友可以參考下。2010-11-11php獲取網(wǎng)頁(yè)請(qǐng)求狀態(tài)程序示例
對(duì)于網(wǎng)頁(yè)返回狀態(tài)代碼多數(shù)情況下我們的查看方法就是使用站長(zhǎng)工具或ff瀏覽器等來(lái)查看,極少有人想到自己寫一個(gè)查看狀態(tài)代碼的功能,本文就此簡(jiǎn)述php獲取網(wǎng)頁(yè)請(qǐng)求狀態(tài)程序示例,需要的朋友可以參考下2014-06-06PHP利用REFERER根居訪問來(lái)地址進(jìn)行頁(yè)面跳轉(zhuǎn)
這篇文章主要是根據(jù)referfer判斷來(lái)源,然后跳轉(zhuǎn)到制定頁(yè)面,以防出現(xiàn)了無(wú)法訪問頁(yè)面,用戶體驗(yàn)不好2013-09-09PHP實(shí)現(xiàn)數(shù)據(jù)庫(kù)統(tǒng)計(jì)時(shí)間戳按天分組輸出數(shù)據(jù)的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)數(shù)據(jù)庫(kù)統(tǒng)計(jì)時(shí)間戳按天分組輸出數(shù)據(jù)的方法,涉及php基于時(shí)間的運(yùn)算與數(shù)據(jù)庫(kù)查詢相關(guān)操作技巧,需要的朋友可以參考下2017-10-10對(duì)text數(shù)據(jù)類型不支持代碼頁(yè)轉(zhuǎn)換 從: 1252 到: 936
錯(cuò)誤的提示同樣是不能從text的轉(zhuǎn)換問題:這主要是由于數(shù)據(jù)庫(kù)在設(shè)計(jì)的時(shí)候的數(shù)據(jù)類型存在Text——而我們采用的是中文操作系統(tǒng)。檢查數(shù)據(jù)庫(kù)的腳本,修改Text為ntext。支持unicode。2011-04-04PHP訪問數(shù)據(jù)庫(kù)集群的方法小結(jié)
這篇文章主要介紹了PHP訪問數(shù)據(jù)庫(kù)集群的方法,結(jié)合實(shí)例形式總結(jié)分析了三種常見的PHP訪問數(shù)據(jù)庫(kù)集群的技巧,需要的朋友可以參考下2016-03-03php函數(shù)實(shí)現(xiàn)判斷是否移動(dòng)端訪問
本文給大家分享的是一則php判斷是否移動(dòng)端訪問的函數(shù),是之前收藏的,這里發(fā)出來(lái),推薦給小伙伴們。2015-03-03