我需要编写一个排序程序,从最低的一个开始,然后找到上面的下一个等等。我不允许使用像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>";
这样可以找到第一个,但是我怎么找到第二个最低的呢? 请帮帮忙
-->; 先找最低的,再找次低的……等等
$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查找一个小于当前值的数字,如果它找到了较低的值,那么到目前为止,当前值是第二低的