如何使用 json 文件中的 php 将数组转换为 ArrayObject

how to convert array to ArrayObject with php from json file

我有来自外部 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 会根据作为第二个参数传递的回调对数据进行排序,因此您可以自定义它