PHP中如何快速查找数字所属区间?
时间:2025-1-8 08:27 作者:emer 分类: 无

如何在 php 中确定数字落在哪个区间?
如何确定一个数字落在给定的区间?例如,给定一个数字 123 和一个区间数组 [10, 20, 50, 100, 200, 500],我们需要返回该数字所在的区间,即 100 或下标 3。
解决方案:
我们可以利用 php 的内置函数来巧妙地解决这个问题。
立即学习“”;
<?php
// 给定的区间数组
$arr = [10, 20, 50, 100, 200, 500];
// 确定数字所在区间的函数
function findIndex($arr, $num) {
// 在数组末尾添加给定数字
$arr[] = $num;
// 对数组进行排序
sort($arr);
// 获取给定数字在排序数组中的索引
$index = array_search($num, $arr);
// 判断索引是否有效
if ($index === false) {
return -1;
}
// 根据给定数字与相邻元素的关系确定区间
$lastIndex = $index - 1;
$nextIndex = $index + 1;
if ($lastIndex < 0) {
return 0;
} elseif ($nextIndex >= count($arr)) {
return count($arr) - 1;
} else {
return $arr[$lastIndex] <= $arr[$index]
&& $arr[$index] < $arr[$nextIndex]
? $lastIndex
: $index;
}
}
// 测试
$res = findIndex($arr, 123);
var_dump($res); // 输出:3
?> 登录后复制
以上就是PHP中如何快速查找数字所属区间?的详细内容,