'1.1-4.6',
'1' => '1.2-33.7',
'2' => '1.3',
'3' => '1.4-30',
'4' => '15-44',
'5' => '1.1-4.6',
'6' => '1.2-33.7',
'7' => '1.3',
'8' => '1.4-43.9',
'9' => '9.5-44',
);
$nn = check_zifu($n);
for ($ii=0; $ii < count($nn); $ii++) {
if (count($nn[$ii]) > 1) { //判断是否是范围,若不是,左边界值和右边界值相同
$nnn[$ii]['min'] = ceil($nn[$ii][0]);
$nnn[$ii]['max'] = floor($nn[$ii][1]);
}else{
$nnn[$ii]['min'] = $nn[$ii][0];
$nnn[$ii]['max'] = $nn[$ii][0];
}
}
$nnnn = getNum($nnn);
echo "";
print_r($nnnn);
function check_zifu($a){
$c = array();
for ($i=0; $i < count($a); $i++) {
$r = strpos($a[$i],'-');
if($r == ''||$r == false||$r == null){
$r = strpos($a[$i],'~');
if($r == ''||$r == false||$r == null){
$c[$i][0] = $a[$i];
}else{
$b = explode('~', $a[$i]);
$c[$i] = $b;
}
}else{
$b = explode('-', $a[$i]);
$c[$i] = $b;
}
}
return $c;
}
function getNum($arr){
for ($i=0; $i < count($arr); $i++) {
$c['min'][$i] = $arr[$i]['min'];
$c['max'][$i] = $arr[$i]['max'];
}
$min_sum = array_sum($c['min']); //计算左边界值之和
$max_sum = array_sum($c['max']); //计算右边界值之和
if($min_sum < 100 && $max_sum > 100){ //若左边界值和大于100或右边界值和小于100,不成立
for ($iii=0; $iii < count($c['min']); $iii++) { //从第一位左边界值开始加一
$max = $c['max'][$iii];
while ($c['min'][$iii]+1 <= $max) { //判断是否超出右边界值
$c['min'][$iii] = $c['min'][$iii]+1;
if (array_sum($c['min']) == 100) {
return $c['min'];
break;
}else if (array_sum($c['min']) > 100) {
$c['min'][$iii] = $c['min'][$iii] - (array_sum($c['min']) - 100);
return $c['min'];
break;
}
}
}
}else if($min_sum == 100){ //若左边界值和为100
for ($ii=0; $ii < count($c['min']); $ii++) {
$n[$ii] = $c['min'][$ii];
}
return $c['min'];
}else if($max_sum == 100){ //若右边界值和为100
for ($iiii=0; $iiii < count($c['max']); $iiii++) {
$n[$iiii] = $c['max'][$iiii];
}
return $c['min'];
}else{
echo 'error';
}
}
?>
以上就介绍了 php在范围中取值并使和为100,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
0
0
相关文章
怎么使用php正则表达式验证用户名
在 PHP 中确定 referer
如何从PHP中调用Python文件?
我们如何使用使用mysql_fetch_assoc()函数的PHP脚本来显示MySQL表中的所有记录?
ini_set()在PHP中的作用是什么?
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
Java 桌面应用开发(JavaFX 实战)
本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。
37
2026.01.14
热门下载
相关下载
精品课程
相关推荐
/
热门推荐
/
最新课程
前端HTML5+CSS3(女神版)
共199课时 | 27.2万人学习
H5游戏实战:是男人就下100层视频教程
共16课时 | 3.6万人学习
最新文章









