php数据拆分 php数据分页

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根据二维数组元素数量拆分成若干个小数组?

php数组分组可以使用函数array_chunk,按照给定的规则进行遍历,如果数组的num值大于8,就整除8,获取整除的数据,然后按照整除数进行分组分块即可。

php 数组拆分

$arr = array(

array(

"name" = "苹果",

"path" = "食物-水果"

),

array(

"name" = "大白菜",

"path" = "食物-蔬菜"

),

array(

"name" = "大白菜1",

"path" = "食物-蔬菜"

),

array(

"name" = "大白菜2",

"path" = "食物-蔬菜"

),

array(

"name" = "大众牌子xxx",

"path" = "汽车-大众"

),

);

$result = array();

foreach ($arr as $v) {

$path = explode("-", $v['path']);

if (!is_array($result[$path[0]])) {

$result[$path[0]] = array();

}

if (!is_array($result[$path[0]][$path[1]])) {

$result[$path[0]][$path[1]] = array();

}

array_push($result[$path[0]][$path[1]], $v['name']);

}

var_dump($result);


网站栏目:php数据拆分 php数据分页
标题来源:http://scyanting.com/article/doojiid.html