如果给出一个val=0.95,返回数组中最近的一个比val=0.95小的userid,是0.9。如果一个都没有比0.95小的,那么返回,第一个val=0.95,对应的userid。大概意思是:总是取数组从头开始最近的
2 回答
慕容708150
TA贡献1831条经验 获得超4个赞
$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);还差点,就对了。
茅侃侃
TA贡献1842条经验 获得超21个赞
$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;
添加回答
举报
0/150
提交
取消