PHP排序查找第二个最低数组

问题描述 投票:-1回答:1

我需要编程一个从最低的排序开始的排序,然后找到上面的下一个排序,依此类推。不允许使用排序函数,例如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>";

这找到第一个,但是我怎么找到第二个?请帮助

->首先找到最低的,然后是第二最低的...,等等

php arrays
1个回答
0
投票
$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寻找一个小于当前数的数字,如果发现了一个较低的值,那么到目前为止,当前值是倒数第二个]

© www.soinside.com 2019 - 2024. All rights reserved.