dreamviewer做网站,移动互联网公司,品牌设计法则徐适,中国十大品牌网楼上的回答全都会错意了#xff0c;题主意思是根据权重设定随机几率#xff0c;例如 A 的权重为10#xff0c;B 的权重为 5#xff0c;这个时候随机出现 A 的几率要比出现 B 的几率高。你可以试试这个备选方案。就是先取出权重列表再去根据权重随机出来的那个权重值#x…楼上的回答全都会错意了题主意思是根据权重设定随机几率例如 A 的权重为10B 的权重为 5这个时候随机出现 A 的几率要比出现 B 的几率高。你可以试试这个备选方案。就是先取出权重列表再去根据权重随机出来的那个权重值根据权重值去库里再随机查。/*** Roll*/if (!function_exists(roll)) {function roll($data, $key weight){$weight 0;$tempData [];foreach ($data as $one) {$weight $one[$key];for ($i 0; $i $one[$key]; $i) {$tempData[] $one;}}$use rand(0, $weight - 1);return $tempData[$use];}}$data [[weight 1],[weight 3],[weight 5],[weight 7],[weight 9]];$result roll($data)[weight];SELECT * FROM database WHERE id ((SELECT MAX(id) FROM database WHERE b $result) - (SELECT MIN(id) FROM database WHERE b $result)) * RAND() (SELECT MIN(id) FROM database WHERE b $result) AND b $result LIMIT 1