開發中遇到個刷新頁面隨機取得文章功能,用到了PHP函數中的array_rand()功能,array_rand(array,number),有兩個參數,其中array參數是代表著你所要獲取某個數組,number可選參數,第二個參數用來確定要選出幾個元素,默認是 1。。如果選出的元素不止一個,則返回包含隨機鍵名的數組,否則返回該元素的鍵名。(記住:理解一下加粗那部分意思),返回的是一個數組鍵名,不是數組裡面的對應值,我剛開始用的時候以為是直接返回一個數值值,老取不到值。我具體用法是這樣:
PHP代碼
- . .......
- .......
- while($res=mysql_fetch_object($rsql))
- {
- $arr[$i][id]=$res->art_id;
- $arr[$i][url]= siteurl."art-php-"."$res->art_id"..html;
- $arr[$i][title]= $res->art_title;
- $i ;
- }
- $arr1=array_rand($arr,10);
- $arr2=array();
- foreach($arr1 as $key=>$value)
- {
- $arr2[$key][id]=$arr[$value][id];
- $arr2[$key][url]=$arr[$value][url];
- $arr2[$key][title]=$arr[$value][title];
- }
- return $arr2;
下面解釋一下我寫的代碼:
$arr代表我已經獲取到的數組, $arr1返回的是隨機10個數組鍵名,再通過foreach根據返回鍵重新組合數組。