php把数据平均分 php数据平均分配函数

有20个有序数字php怎么平均分配给4用户并写入mysql数据库?

function getDivideNumber($number, $total, $index = 2) {

成都创新互联公司主要从事成都网站制作、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务利州,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

// 取平均数

$divide_number = floor($number / $total * pow(10, $index)) / pow(10, $index);

$divide_number = number_format($divide_number, $index, '.', '');

// 获取最后一个数字

$last_number = $number - $divide_number * ($total - 1);

$last_number = number_format($last_number, $index, '.', '');

// 拼装平分后的数据返回

$number_str = str_repeat($divide_number . ',', $total - 1) . $last_number;

return explode(',', $number_str);

}

$array = getDivideNumber(120, 3, $index = 0);

得到平均分配的数字数组,用遍历后入库

用php求5名同学的总成绩和平均成绩。求代码

$arr = array(50,60,70,80,90); //用数组表示5个同学的成绩

$sum = array_sum($arr);

echo '成绩总和为:'.$sum;    //array_sum()直接求出总和并输出显示,本例中得到350

$con = count($arr);        //count()计算学生数量,本例中得到5

$ave = $sum/$con;

echo '平均成绩为:'.$ave;    //总成绩除去人数即得到平均成绩,本例中得到70

在php中求平均数。

mysql_select_db("my_db", $con);

$sql="select avg(ehscore) from history";

$query=mysql_query($sql);

echo $query;

/***********

while($row=mysql_fetch_array($query))

{

echo "平均数为".$sql;

}

****************/

mysql_close($con);

select avg(ehscore) from history;查询出的结果就是平均值,直接输出就可以了,不需要后面的循环

php如何把一个数分成N份

大致思路

1)取份数的平均值

2)根据允许的各份数间最大差值,动态调整随机数范围,形成各份的数量

3)最后一份的数量由前面已经分出的决定,以保证各份的总和为指定值

代码如下:

?php

$total = 100; //待划分的数字

$div = 5; //分成的份数

$area = 10; //各份数间允许的最大差值

$average = round($total / $div);

$sum = 0;

$result = array_fill( 1, $div, 0 );

for( $i = 1; $i  $div; $i++ ){

//根据已产生的随机数情况,调整新随机数范围,以保证各份间差值在指定范围内

if( $sum  0 ){

$max = 0;

$min = 0 - round( $area / 2 );

}elseif( $sum  0 ){

$min = 0;

$max = round( $area / 2 );

}else{

$max = round( $area / 2 );

$min = 0 - round( $area / 2 );

}

//产生各份的份额

$random = rand( $min, $max );

$sum += $random;

$result[$i] = $average + $random;

}

//最后一份的份额由前面的结果决定,以保证各份的总和为指定值

$result[$div] = $average - $sum;

//结果呈现

echo '划分情况:br';

foreach( $result as $temp ){

echo $temp, 'br';

}

echo '总和:', array_sum( $result );

exit;

?

用PHP编写 随机产生10个学生的成绩,求平均成绩,最高成绩,最低成绩,并统计高于平均成绩的人数?

?php

$a=array();

$b=0;

for ($i=0; $i 10 ; $i++) {

$a[$i]=rand(0,100);

$b+=$a[$i];

}$b=$b/10;

print_r($a);

echo"br";

print_r('平均成绩'.$b);echo"br";

$max=max($a);

print_r('最高成绩'.$max);echo"br";

$min=min($a);

print_r('最低成绩'.$min);echo"br";

$c=0;

for ($i=0; $i 10 ; $i++) {

if($a[$i]$b){

$c=$c+1;

}

}

print_r('超过平均值人数'.$c);echo"br";

纯手打不易,望采纳


本文标题:php把数据平均分 php数据平均分配函数
标题路径:http://myzitong.com/article/dodojdd.html