php - 如何在php中使用json获取数组的前10个值
问题描述
这是我的 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}
我怎样才能从变量 1 的最高数字到最少的前 10 名?但是会以相同的格式传递 JSON 文件。
解决方案
PHP 将需要使用数组,因此请使用 .将 JSON 转换为 PHP 数组json_decode()
。然后,您可以使用 .x 获取数组中的第一个值array_slice($array, 0, 10);
。
usort()
与 spaceshipoperator 一起使用,您可以对对象的属性进行<=>
排序。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);
- 在https://3v4l.org/WkiG0进行现场演示
推荐阅读
- sql - 使用多个布尔运算符的 SQL 搜索
- javascript - 如何解析在javascript中嵌套了转义JSON的JSON?
- c# - 无法将 C# 类型正确代理到 F# WebSharper 应用程序中的客户端代码
- ruby - ocra 未初始化常量 CommonElement (NameError)
- python - Pandas 枢轴列顺序多个 agg
- sql - 从选择查询中选择 SQL
- javascript - WkhtmlToPDF 全局 javascript 变量。访问页脚中的数据
- elasticsearch - ELK Searh 不解析日志
- node.js - 如何在 ubuntu 服务器上运行 nodejs express web 服务器
- notifications - 将 printf 重定向到文件中的特定行