提问者:小点点

PHP排序查找第二低数组


我需要编写一个排序程序,从最低的一个开始,然后找到上面的下一个等等。我不允许使用像usort和natsort这样的排序函数

$array = array('4', '5', '7', '2', '8', '9', '1', '6');

$count = count($array);
$a = $array[0];
$ctr = 0;


    for($b = 0; $b < $count; $b++) 
    {
        $ctr++;
    if ($array[$b] < $array[$a])
        {
        $a = $array[$b];
    } 
    }
    echo $a."<br>";
    echo $ctr."<br>";

这样可以找到第一个,但是我怎么找到第二个最低的呢? 请帮帮忙

-->; 先找最低的,再找次低的……等等


共1个答案

匿名用户

$array = array('4', '5', '7', '2', '8', '9', '1', '6');
$count = count($array);
$a = $array[0];
$second=null;
$ctr = 0;
for($b = 0; $b < $count; $b++) 
{
    $ctr++;
    if ($array[$b] < $array[$a])
    {
        $second = $a;
        $a = $array[$b];
    } 
}
echo "lowest:".$a."<br>";
echo "second lowest:".$second."<br>";
echo $ctr."<br>";

我希望这就是您要找的代码

工作原理:循环中的if查找一个小于当前值的数字,如果它找到了较低的值,那么到目前为止,当前值是第二低的