Sobes.tech
Junior — Middle

Como é que se pode obter uma lista das entradas superiores, limitadas pelo valor de um campo específico?

sobes.tech IA

Resposta da IA

Чтобы получить список верхних записей, ограниченных по значению определенного поля в PHP, обычно используют сортировку массива и функцию array_filter или SQL-запрос, если данные хранятся в базе.

Пример с массивом:

$data = [
    ['id' => 1, 'score' => 50],
    ['id' => 2, 'score' => 80],
    ['id' => 3, 'score' => 70],
    ['id' => 4, 'score' => 90],
];

// Ограничение по значению поля 'score' >= 70
$filtered = array_filter($data, function($item) {
    return $item['score'] >= 70;
});

// Сортируем по 'score' по убыванию
usort($filtered, function($a, $b) {
    return $b['score'] <=> $a['score'];
});

// Получаем верхние записи, например, топ 3
$top = array_slice($filtered, 0, 3);

print_r($top);

Если данные в базе, то проще сделать SQL-запрос с WHERE и ORDER BY:

SELECT * FROM table_name WHERE score >= 70 ORDER BY score DESC LIMIT 3;

Таким образом, вы получите верхние записи, удовлетворяющие условию по значению поля.