如何用php将数组从json文件转换为ArrayObject

2022-08-26 json arrays object php lumen
我有来自外部json文件的数组中的数据。数据如下

[
{"serial": 991, "name": "hello"},
{"serial": 993, "name": "world"},
{"serial": 994, "name": "island"}
]

如何才能将上述数据转换为如下例所示

array("type"=>"fruit", "price"=>3.50)

我的案例实际上需要使用MultiSort对json文件进行排序,每个教程都使用示例中的数据。以下是教程 https://www.php.net/manual/en/function.array-multisort.php

这个问题之后,我的下一步是根据数据的键值对数据进行排序。 请帮帮忙。或者您可能有其他选项来对我的数据进行排序而不进行转换?


解决方案

读取数据

$unsortedData = json_decode(file_get_contents("data.json"), true);

第二个参数为True使您获得一个关联数组,而不是一个对象数组(Stdclass)

对数组进行排序:

usort($unsortedData,  function($a, $b){
    return $a['serial'] < $b['serial'];
});

usort将根据作为第二个参数传递的回调对数据进行排序,因此您可以对其进行自定义

相关文章