php - PHP - 如何从第二个数组中的第一个数组中找到一个中间值
问题描述
在两个不同的数组中,我必须在每个 array1 值的值之间找到。
$array1 = array(8,15,26);
$arrayBetween = array ("zero" => 0, "one"=>10,"two" =>20, "three" =>30);
例子:8 is between zero and one.
我没有找到任何可以帮助我的功能。我已经尝试过array_filter
orrange
但我无法解决它。
解决方案
你可以自己写一个简单的循环:
$array1 = array(-1,8,15,26,47);
$arrayBetween = array ("zero" => 0, "one"=>10,"two" =>20, "three" =>30);
foreach($array1 as $value)
{
// special cases if value is outside arrayBetween bounds
if($value < min($arrayBetween))
echo "$value is before " . array_keys($arrayBetween)[0] . PHP_EOL ;
elseif($value > max($arrayBetween))
{
$keys = array_keys($arrayBetween) ;
echo "$value if after " . end($keys) . PHP_EOL ;
}
else
{
$prevKey = null ; // store the previous key at each try
foreach($arrayBetween as $key => $nb)
{
if($nb > $value) // we found the first key that has value > current number
{
echo "$value is between $prevKey and $key ". PHP_EOL ;
break; // interval found, can stop the search
}
$prevKey = $key ; // save current key to display it if next element is > $value
}
}
}
输出 :
-1 在零之前
8 介于零和一之间
15 介于 1 和 2 之间
26 介于二到三之间
47如果在三个之后
推荐阅读
- javascript - 在这种情况下如何作曲
- python - Matplotlib 的 ticklabel_format(style='plain') 对数轴被忽略或失败,但适用于线性轴
- ubuntu - 可以创建文件,但不能修改?
- r - 在 Plumber 上运行 R 脚本时出现“节点堆栈溢出”错误
- html - 当使用相同的 css 作为内部 css 时,调用外部 css 文件的结果不同
- python-3.x - 灰度 .png 到 numpy 数组
- python - 是否有 REST API 反向代理库来注入请求标头?
- ios - 有没有办法从表格视图单元格中的文本字段中获取值以在另一个表格视图单元格中使用它?
- javascript - 不能让函数再次运行
- django - 如何在 Django-Admin 中限制用户中的组数