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

有没有人遇到过这个问题哈!求一个php最近的最小值算法各位有什么建议?

有没有人遇到过这个问题哈!求一个php最近的最小值算法各位有什么建议?

慕莱坞森 2019-06-21 17:14:28
如果给出一个val=0.95,返回数组中最近的一个比val=0.95小的userid,是0.9。如果一个都没有比0.95小的,那么返回,第一个val=0.95,对应的userid。大概意思是:总是取数组从头开始最近的
查看完整描述

2 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超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-06-21
?
临摹微笑

TA贡献1982条经验 获得超2个赞

$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-06-21
  • 2 回答
  • 0 关注
  • 199 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号