介绍
本篇文章为大家展示了使用PHP怎么实现一个权重算法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
PHP有什么用
PHP是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及PHP自创新的语法,主要用来做网站开发,许多小型网站都用PHP开发,因为PHP是开源的,从而使PHP经得久不衰。
假设有数据:
data 美元;=,array ( ,array ( ,& # 39;id # 39;,=祝辞,1, ,& # 39;名字# 39;,=祝辞,& # 39;张三& # 39;, ,& # 39;重量# 39;,=祝辞;5 ,), ,array ( ,& # 39;id # 39;,=祝辞,2, ,& # 39;名字# 39;,=祝辞,& # 39;王五& # 39;, ,& # 39;重量# 39;,=在10 ,), ,array ( ,& # 39;id # 39;,=祝辞,3, ,& # 39;名字# 39;,=祝辞,& # 39;李四& # 39;, ,& # 39;重量# 39;,=在15 ,), );
要随机取出其中一条,并且不是完全随机,而是根据其体重的中数值,按照数值越大,几率越高的规律取出。
以前写过一些权重算法,可是都不完美,要么数据量有限制,要么之重量和必须等于一个指定的数等等,都不完善。
今天突发奇想,写了一套完美的权重算法,该算法有如下优势:
1。支持无限多个数据
2。重量值之和任意
3。不存在两个重量值一样时无法平均分配的bug
算法如下:
data 美元;=,array ( ,array ( ,& # 39;id # 39;,=祝辞,1, ,& # 39;名字# 39;,=祝辞,& # 39;张三& # 39;, ,& # 39;重量# 39;,=祝辞;5 ,), ,array ( ,& # 39;id # 39;,=祝辞,2, ,& # 39;名字# 39;,=祝辞,& # 39;王五& # 39;, ,& # 39;重量# 39;,=在10 ,), ,array ( ,& # 39;id # 39;,=祝辞,3, ,& # 39;名字# 39;,=祝辞,& # 39;李四& # 39;, ,& # 39;重量# 39;,=在15 ,), ); $ weight =, 0; $ tempdata =, array (); foreach (data 美元;as 1美元),{ +=,weight 美元,一美元(& # 39;重量# 39;); ,for ($小姐:=,0;,美元小姐:& lt;,一美元[& # 39;重量# 39;];,我+ +美元),{ 美元,tempdata[],=,一美元; ,} } $ use =,兰德(0,weight 美元;1); one 美元;=,tempdata美元(美元使用); var_dump()美元;
运行结果:
数组(3){
引用>
,[“id"]=祝辞
,int (2)
,[“name"]=祝辞
,字符串(4)“王五“
,[“weight"]=祝辞
,int (10)
}上述内容就是使用PHP怎么实现一个权重算法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
使用PHP怎么实现一个权重算法