php實現(xiàn)按照權(quán)重隨機排序數(shù)據(jù)的方法
更新時間:2015年01月09日 09:42:03 投稿:shichen2014
這篇文章主要介紹了php實現(xiàn)按照權(quán)重隨機排序數(shù)據(jù)的方法,是php數(shù)據(jù)排序中一個比較典型的應(yīng)用技巧,需要的朋友可以參考下
本文實例講述了php實現(xiàn)按照權(quán)重隨機排序數(shù)據(jù)的方法。分享給大家供大家參考。
具體實現(xiàn)方法如下:
復(fù)制代碼 代碼如下:
<?php
/**
* @param array $weight 權(quán)重 例如array('a'=>10,'b'=>20,'c'=>50)
* @return string key 鍵名
*/
function roll($weight = array()) {
$roll = rand ( 1, array_sum ( $weight ) );
$_tmpW = 0;
$rollnum = 0;
foreach ( $weight as $k => $v ) {
$min = $_tmpW;
$_tmpW += $v;
$max = $_tmpW;
if ($roll > $min && $roll <= $max) {
$rollnum = $k;
break;
}
}
return $rollnum;
}
$row=roll(array('a'=>10,'b'=>20,'c'=>50));
echo $row;
?>
希望本文所述對大家的php程序設(shè)計有所幫助。
相關(guān)文章
探討PHP中this,self,parent的區(qū)別詳解
本篇文章是對PHP中this,self,parent的區(qū)別進行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06解析PHP自帶的進位制之間的轉(zhuǎn)換函數(shù)
本篇文章是對PHP自帶的進位制之間的轉(zhuǎn)換函數(shù)進行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06淺析php中三個等號(===)和兩個等號(==)的區(qū)別
以下是對php中三個等號(===)和兩個等號(==)的區(qū)別進行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-08-08PHP實現(xiàn)動態(tài)刪除XML數(shù)據(jù)的方法示例
這篇文章主要介紹了PHP實現(xiàn)動態(tài)刪除XML數(shù)據(jù)的方法,在前面介紹的Message_XML類基礎(chǔ)上進行改進,增加了xml刪除功能,具有一定參考借鑒價值,需要的朋友可以參考下2018-03-03