使用数组PHP中的范围计算数据
我想使用PHP从数组中使用range base计算数据。。 这是我的数组使用数组PHP中的范围计算数据,php,Php,我想使用PHP从数组中使用range base计算数据。。 这是我的数组 $array = array( 1.1, 2.2, 3.2, 4.5, 4.2, 5.4, 6.2, 7.1, 8, 9.4, 10, 1.7); 我的预期输出如下(我手动设置的范围数,我只想计算包含我角色的数据量): 我试着这样写,但还是不行 $start = 1; $end = 2.5; $int = 0;
$array = array(
1.1, 2.2, 3.2, 4.5, 4.2,
5.4, 6.2, 7.1, 8, 9.4, 10,
1.7);
我的预期输出如下(我手动设置的范围数,我只想计算包含我角色的数据量):
我试着这样写,但还是不行
$start = 1;
$end = 2.5;
$int = 0;
foreach ($array as $key => $value) {
if ($start>=$value && $end<=$value) {
$int++;
}
}
echo $int;
$start=1;
$end=2.5;
$int=0;
foreach($key=>$value的数组){
如果($start>=$value&&$end如果我没有误解你的问题,那么这应该对你有用
$array = array(
1.1, 2.2, 3.2, 4.5, 4.2,
5.4, 6.2, 7.1, 8, 9.4, 10,
1.7);
$count = [];
foreach ($array as $key => $value) {
if ($value<ceil($value)) {
$count[floor($value)."-".ceil($value)]++;
}
}
print '<pre>';
print_r($count);
print '</pre>';
请参见演示:您必须设置范围,因为它是一致的值。您可以使用array\u reduce
和array\u filter
来汇总数据
Array
(
[1.00-2.50] => 3
[2.51-3.50] => 1
[3.51-4.00] => 0
)
请向我们展示您迄今为止所做的尝试。目前还不清楚您要求的是什么。好的,先生@vascowhite,我编辑了我的问题,范围和步骤的起始点不一致。是的,因为我想计算大学平均分的数据摘要。这对我来说是可行的,但是如果我使用十进制来计算范围,该怎么办呢。(我是jst编辑我的问题)@being-sunny@FatchulAmin哦,天哪,你现在已经编辑了预期的输出..!哦,对不起,我手动设置的范围数,我只想计算有多少数据包括来自arrayHappy帮助的我的角色:)
Array
(
[1-2] => 2
[2-3] => 1
[3-4] => 1
[4-5] => 2
[5-6] => 1
[6-7] => 1
[7-8] => 1
[9-10]=> 1
)
$array = array(1.1, 2.2, 3.2, 4.5, 4.2,5.4, 6.2, 7.1, 8, 9.4, 10,1.7);
$range = array("1.00-2.50","2.51-3.50","3.51-4.00");
$grouped = array_reduce($range, function($c,$v) use($array) {
$group = array_filter($array,function($x) use ($v){
$t = explode("-",$v);
return $x >= $t[0] && $x <= $t[1];
});
$c[ $v ] = count( $group );
return $c;
},array());
echo "<pre>";
print_r( $grouped );
echo "</pre>";
Array
(
[1.00-2.50] => 3
[2.51-3.50] => 1
[3.51-4.00] => 0
)