如果基于某个增量值未找到值,则php下一个键和值
我有一个数组,我在数组中搜索值,每5秒读取一次 我的意见是如果基于某个增量值未找到值,则php下一个键和值,php,Php,我有一个数组,我在数组中搜索值,每5秒读取一次 我的意见是 $input = "23:31:13"; 应该是23:31:15 $array = array ( [0] => Array ( [0] => 18/06/2014 [1] => 23:31:10 [2] => 68.4 ) [1] => Array ( [0]
$input = "23:31:13";
应该是23:31:15
$array = array
(
[0] => Array
(
[0] => 18/06/2014
[1] => 23:31:10
[2] => 68.4
)
[1] => Array
(
[0] => array
(
[0] => 18/06/2014
[1] => 23:31:15
[2] => 67.4
)
[2] => array(
[0] => 18/06/2014
[1] => 23:31:20
[2] => 69.4
)
)
我的代码
foreach($arr as $key=>$temp_arr)
{
if(in_array($input , $temp_arr) )
{
$return[$key]=$temp_arr;
}
}
试试这个:
$t_input = strtotime($input);
$arr = array_values(array_filter($array, function ($v) use ($t_input) { return strtotime($v[1]) > $t_input; }));
if (count($arr)) $result = $arr[0][1];
在循环之前,将
$input
的最后一段四舍五入到最近的5
:
list( $a, $b, $c) = explode( ":", "23:31:13");
$mod = $c % 5;
$input = $a . ':' . $b . ':' . (($mod < 3) ? $c - $mod : $c + (5 - $mod));
list($a,$b,$c)=分解(“:”,“23:31:13”);
$mod=$c%5;
$input=$a。“:”$b.“:”。(($mod<3)$c-$mod:$c+(5-$mod));
这将导致
23:31:13
的$input
变为23:31:15
,现在将在in_array()
调用中匹配。非常感谢您提供的任何帮助。是否希望根据输入获得更接近的日期?