gpt4 book ai didi

PHP算法在不同距离的值之间查找

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:18:32 24 4
gpt4 key购买 nike

我正在尝试创建一种根据小时数返回价格的算法。但小时数之间的距离是不同的。例如我有一个数组:

$set = [
1 => 0.5,
2 => 1,
3 => 1.5,
4 => 2,
5 => 2.5,
12 => 4
];

$value = 3;

end($set);

$limit = (int)key($set);

foreach($set as $v => $k) {

// WRONG, doesn't account for varying distance
if($value >= $v && $value <= $v) {

if($value <= $limit) {

return $k;
} else {
return false;
}
}
}

问题是,5 和 12 之间的距离注册为空。我还不如使用 $value == $v 来代替我标记为不正确的行。

所以我想知道是否有更好的方法来舍入到该数组中的下一个索引并返回它的值?

提前干杯!

最佳答案

试试这个:

$set = array(1 => 0.5, 2 => 1, 3 => 1.5, 4 => 2, 5 => 2.5, 12 => 4);
function whatever(idx, ary){
if(in_array(idx, array_keys(ary))){
return ary[idx];
}
else{
foreach(ary as $i => $v){
if($i > idx){
return $v;
}
}
}
return false;
}
echo whatever(7, $set);

关于PHP算法在不同距离的值之间查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25393842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com