项目中阶梯费率解决方法,数组中通过键名查找键值

<?php
$a = 3.5;
$arr = array("1"=>4,"2.5"=>5,"5"=>6);//小数做键名,需要加引号
$arr = array_flip($arr);

foreach ($arr as $key => $value) {
$b[] = $value;
}

主要思路就是把数组翻转,取出原数组所有键名组成一维数组,判断出在哪个阶梯范围,再去反转的数组中array_search出对应的键值,这个键值就是阶梯对应的费率值了

for($i=0;$i<=count($b);$i++){
if($a>$b[$i] && $a<$b[$i+1]){
$c = $b[$i+1];
}elseif ($a == $b[$i]) {
$c = $b[$i];
}elseif ($a >= max($b)) {
$c = max($b);
}elseif ($a <= min($b)) {
$c = min($b);
}
}

echo(array_search($c,$arr));

posted on 2017-09-23 11:02  zxyPhp  阅读(447)  评论(0编辑  收藏  举报