Это пример моего файла JSON.
{"Variable":"Hello","Variable1":20}, {"Variable":"Hi","Variable1":30},
{"Variable":"How","Variable1":40}, {"Variable":"Who","Variable1":50},
{"Variable":"Where","Variable1":60}, {"Variable":"This","Variable1":100},
{"Variable":"Pork","Variable1":10}, {"Variable":"Creep","Variable1":90},
{"Variable":"Mega Creeps","Variable1":80}, {"Variable":"LOL","Variable1":0},
{"Variable":"ROFL","Variable1":0}, {"Variable":"LMAO","Variable1":0},
{"Variable":"POP","Variable1":0}, {"Variable":"LOVE","Variable1":0},
{"Variable":"PICK","Variable1":0}, {"Variable":"WHIZ","Variable1":0},
{"Variable":"BORED","Variable1":0}, {"Variable":"KILLAH","Variable1":0},
{"Variable":"LOLLING","Variable1":0}, {"Variable":"HALOO HALOO","Variable1":0}
Как я могу получить только 10 лучших от самого высокого числа Variable1 до наименьшего? Но файл JSON будет передаваться в том же формате.
Я предлагаю вам начать изучение основ.
Это недопустимый файл JSON. У вас должно быть [ в начале и ] в конце.
Можете ли вы показать код, который вы пробовали?
Спасибо всем за ответы на мой вопрос.. я уже понял...






PHP должен будет работать с массивами, поэтому преобразуйте JSON в массив PHP с помощью json_decode(). Затем вы можете получить первые значения X в массиве, используя array_slice($array, 0, 10);.
Используя usort() с оператором космического корабля <=>, вы можете сортировать по свойству Variable1 объектов.
$json = '[{"Variable":"Hello","Variable1":20}, {"Variable":"Hi","Variable1":30},
{"Variable":"How","Variable1":40}, {"Variable":"Who","Variable1":50},
{"Variable":"Where","Variable1":60}, {"Variable":"This","Variable1":100},
{"Variable":"Pork","Variable1":10}, {"Variable":"Creep","Variable1":90},
{"Variable":"Mega Creeps","Variable1":80}, {"Variable":"LOL","Variable1":0},
{"Variable":"ROFL","Variable1":0}, {"Variable":"LMAO","Variable1":0},
{"Variable":"POP","Variable1":0}, {"Variable":"LOVE","Variable1":0},
{"Variable":"PICK","Variable1":0}, {"Variable":"WHIZ","Variable1":0},
{"Variable":"BORED","Variable1":0}, {"Variable":"KILLAH","Variable1":0},
{"Variable":"LOLLING","Variable1":0}, {"Variable":"HALOO HALOO","Variable1":0}]';
// Get the JSON to a PHP array
$array = json_decode($json);
// Sort the array
usort($array, function($a, $b) {
return $b->Variable1 <=> $a->Variable1;
});
// Slice it, getting the first 10 elements
$parts = array_slice($array, 0, 10);
// Encode it back to JSON
echo json_encode($parts);
Сначала нам нужно превратить этот JSON в массив:
$array = json_decode($json, true)
Затем нам нужно отсортировать массив, чтобы получить 10 лучших:
function sortByOrder($a, $b) {
return $a['Variable1'] - $b['Variable1'];
}
usort($array, 'sortByOrder');
Затем мы получаем топ-10:
$array = array_slice($array, 0, 10);
затем мы должны преобразовать обратно в JSON:
echo json_encode($array)
Отсортируйте массив по
Variable1, затем используйтеarray_slice($array, 0, 10), чтобы получить первые 10.