php页面中$num = 3;
$arr = array(
array( 'id' => 3, 'num' =>1 ),
array( 'id' => 5, 'num' => 2),
array( 'id' => 6, 'num' =>3 ),
array( 'id' => 8, 'num' => 4 ),
array( 'id' => 9, 'num' => 5 ),
);要得到比定值大的最小值,也就是得到4 如何实现,thanks
$arr = array(
array( 'id' => 3, 'num' =>1 ),
array( 'id' => 5, 'num' => 2),
array( 'id' => 6, 'num' =>3 ),
array( 'id' => 8, 'num' => 4 ),
array( 'id' => 9, 'num' => 5 ),
);要得到比定值大的最小值,也就是得到4 如何实现,thanks
foreach ($arr as $k=>$v)
{
if($v["num"]>$num)
{
if($minNum==0)
{
$minNum = $v["num"];
}
else
{
if($v["num"]<$minNum)
{
$minNum=$v["num"];
}
}
}
}
echo $minNum;
//为了测试我把你的数组打乱了
$arr = array(
array( 'id' => 3, 'num' =>1 ),
array( 'id' => 5, 'num' => 3),
array( 'id' => 6, 'num' =>5 ),
array( 'id' => 8, 'num' => 2 ),
array( 'id' => 9, 'num' => 4 ),
);
//过滤掉比定值小的
function foo($v){
if($v['num'] > 3)
return $v;
}
$new_arr = array_filter($arr,'foo');
//排序过滤后的数组(根据num值升序排列)
$numarr = array();
foreach($new_arr as $v){
$numarr[] = $v['num'];
}
array_multisort($numarr,SORT_ASC,$new_arr);
//$new_arr数组中第一个值就是我们要找的
echo $new_arr[0]['num'];
?>
foreach($arr as $key => $val){
if($val["num"]>$min && $val["num"]<$max){
$max = $val["num"];
}
}