看到你,梁松远的博客

位置 » 主页 » 代码分享 » php得到数组中最小的两个数

php得到数组中最小的两个数

 <?php

error_reporting(0);
header('content-type:text/html;charset=utf-8');
$arr = array(mt_rand(1,99),mt_rand(1,99),mt_rand(1,99),mt_rand(1,99),mt_rand(1,99),mt_rand(1,99));
$min = max($arr);
for($i = 0; $i < sizeof($arr); $i++){
for($j = $i; $j < sizeof($arr); $j++){
if($i == $j){continue;}
//$sub[$i][$j] = abs($arr[$i] - $arr[$j]);
$sub = abs($arr[$i] - $arr[$j]);
$min > $sub ? $min = $sub : $min;
}
}
 
echo $min;
foreach($sub as $key => $val){
$min_arr[$key] = min($val);
$min_key[$key] = array_search(min($val),$val);
}
echo "采用数组\r\n";
print_r($arr);
echo "计算数组\r\n";
print_r($sub);
print_r($min_arr);
 
echo "得到最小\r\n";
echo $min = min($min_arr);
echo "\r\n";
echo "是哪两个\r\n";
$key = array_search($min,$min_arr);
echo $arr[$key];
echo "\r\n";
echo $arr[$min_key[$key]];