php 判断多个数字大小,php 如何快速判断一个数字属于什么范围 ..?

博主面临一个挑战,代码中包含上千条关于$foo变量的条件判断,导致效率和可读性问题。已尝试使用二分法提高效率,但美观度仍不理想。自己编写了借助数组排序的解决方案,效率接近于自定义函数,但未找到兼顾效率和美观的完美方案。寻求优化大量条件判断的高效且优雅的方法。
摘要由CSDN通过智能技术生成

需求是这样 ...

if ( $foo > 0 && $foo < 100 ) $bar = 1;

elseif ( $foo > 99 && $foo < 212 ) $bar = 2;

elseif ( $foo > 211 && $foo < 324 ) $bar = 3;

elseif ( $foo > 323 && $foo < 382 ) $bar = 4;

elseif ( $foo > 381 && $foo < 465 ) $bar = 5;

elseif ( $foo > 464 && $foo < 552 ) $bar = 6;

# ...

这样的规则有上千条 ... 于是满屏幕都是 $foo > __ && $foo < __ $bar = __ ...

效率和美观都成问题 ...

临界点的数值近乎随机 ... 我想不到可以通过 $foo 推算 $bar 的公式 ...

目前的想法是把所有的规则二分掉 ... 这样可以提高效率 ... 但美观依然是问题 ...

如果封在一个函数里 ... 看上去似乎确实美观一些 ... 但效率反而不如这样 ...

有没有什么两者兼顾的比较完美的解决方案 ..?

追加 ... 自己写了一个借助数组排序的方案 ...

效率和自己实现函数差不多 ... 依然不如二分 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值