Как получить 7 наибольшее значение из массива - PullRequest
0 голосов
/ 30 марта 2020

Я хочу получить 7 высоких значений из моего массива, но он должен быть отсортирован правильно

У меня есть этот код:

<?php    
$nilai = array(72,65,73,78,75,74,90,81,87,65,55,69,72,78,79,91,100,40,67,77,86);
$jumlah = 0;
for ($i = 0; $i <= count($nilai)-1; $i++)
{
    $jumlah += $nilai[$i];
}
$rata = $jumlah/count($nilai);
$max = $nilai[0];
for ($i = 0; $i <= count($nilai)-1; $i++)
{
    if ($nilai[$i] > $max)
    {
        $max = $nilai[$i];
    }
    rsort($nilai);
    $top7 = array_reverse(array_slice($nilai, 0, 7));
}
echo "Rata-Rata : ".$rata;
echo "<br>";
echo "Tertinggi : ".$top7;
?>

Вывод:

Tertinggi: 100,91,90,87,86,81,79

1 Ответ

1 голос
/ 30 марта 2020

Ваш код почти дает правильный вывод, за исключением того, что вы не можете отобразить массив, вам нужно использовать print_r() или какой-либо другой метод для преобразования массива в строку.

Но чтобы сделать код более компактным следующее использует только минимальный (я могу думать в любом случае) код ...

$nilai = array(72,65,73,78,75,74,90,81,87,65,55,69,72,78,79,91,100,40,67,77,86);

// Average
$jumlah = array_sum($nilai);
$rata = $jumlah / count ( $nilai );
echo "Rata-Rata : ".$rata;
echo "<br>";

// Top 7
rsort($nilai);
$top7 = array_slice($nilai, 0, 7 );

echo "Tertinggi : ";
print_r($top7);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...