Как найти самый высокий, второй по величине номер, самый низкий второй самый низкий номер из массива в переполнении стека

Самое высокое, второе по величине число и самое низкое или самое маленькое и второе самое низкое число из массива в php.

$ массив = массив («2», «1», «200», «15», «300», «500», «69», «422», «399», «201», «299»);

-3

Решение

В php есть несколько способов решить эту проблему.

Используйте PHP Встроенная система методов

 $array = array('2','1','200','15','300','500','69','422','399','201','299');
//First order the array
sort($array);
$lowest = $array[0];
$secondLowest = $array[1];
$highest = $array[count($array)-1];
$SecondHighest = $array[count($array)-2];

echo "Lowest number is $lowest, Second lowest number is $secondLowest and Highest number is $highest, Seoncd highest is $SecondHighest";

Найти наибольшее и второе наибольшее число с помощью цикла for

$array = array('2','1','200','15','300','500','69','422','399','201','299');
$secondHighest=$highest=0;
for ($i=0; $i < count($array); $i++) {

if ($array[$i] > $highest ) {
$secondHighest=$highest;
$highest=$array[$i];
}elseif ( $array[$i] > $secondHighest ) {
$secondHighest= $array[$i];
}
}

echo "Highest number is $highest and Second highest number is $secondHighest.";

Найти самое низкое и второе самое низкое число с помощью цикла for

    $array = array('2','1','200','15','300','500','69','422','399','201','299');

$lowest=$array[0];
$gotLowest=0;
$smallArray=[];
$secondLowest=0;
$lowestnext=0;

for ($i=0; $i < count($array); $i++) {
// find lowest value and run only first time
if($gotLowest == 0 ){
for ($k=0; $k < count($array) ; $k++) {
if ( intval($array[$k]) < $lowest ) {
$lowest= $array[$k]; //lowest value
}
}
$gotLowest=1; // change value so that run this condition only one time
}

if ( $lowestnext ==0 && intval($array[$i]) > $lowest) {
$lowestnext=$array[$i];
}
// find second smaller value from array
if ( $array[$i] > $lowest && $array[$i] <= $lowestnext ) {
$smallArray[] = $array[$i];
for ($j=0; $j < count($smallArray); $j++) {
if ( $smallArray[$j] < $secondLowest ) {
$secondLowest=$smallArray[$j];
}
}
$secondLowest=$smallArray[0];
}
}echo "Lowest number is $lowest and Second Lowest number is $secondLowest.";
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]