为了账号安全,请及时绑定邮箱和手机立即绑定

求一个php最近的最小值算法求解答!

求一个php最近的最小值算法求解答!

UYOU 2019-08-13 23:03:16
如果给出一个val=0.95,返回数组中最近的一个比val=0.95小的userid,是0.9。如果一个都没有比0.95小的,那么返回,第一个val=0.95,对应的userid。大概意思是:总是取数组从头开始最近的
查看完整描述

2 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

$a=array(
array('userid'=>3,'val'=>0.95),
array('userid'=>1,'val'=>0.95),
array('userid'=>2,'val'=>0.95),
array('userid'=>5,'val'=>0.95),
array('userid'=>8,'val'=>0.95)
);
$x=0.9;
$count=count($a);
$b=[];
foreach($aas$v){
$arr2['val']=abs($x-$v['val']);
$arr2['userid']=$v['userid'];
$b[]=$arr2;
//print_r($v['val']);
}
$min=min($b);
print_r($min);
还差点,就对了。
                            
查看完整回答
反对 回复 2019-08-13
?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

$a=[
['userid'=>3,'val'=>0.95],
['userid'=>1,'val'=>0.95],
['userid'=>2,'val'=>0.9],
['userid'=>5,'val'=>0.95],
['userid'=>8,'val'=>0.95]
];
$x=0.9;
$b1=[];
$b2=[];
foreach($aas$v){
if($v['val']<$x&&!count($b1)){
$b1=$v;
}
if($v['val']===$x&&!count($b2)){
$b2=$v;
}
}
$b=$b1?:$b2;
                            
查看完整回答
反对 回复 2019-08-13
  • 2 回答
  • 0 关注
  • 310 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信