从所有JSON获取列出最多的值

问题描述 投票:-2回答:1

我有多个JSON字符串,存储在我的数据库中。

这里有3个示例,它们看起来像:

示例1

{
    "request": {
        "city": "Chicago",
        "country": "USA",
        "gender": "m"
    }
}

示例2

{
    "request": {
        "city": "Chicago",
        "country": "USA",
        "gender": "f",
        "role": "admin"
    }
}

示例3

{
    "request": {
        "city": "Paris",
        "country": "France",
        "gender": "m",
        "language": "French",
        "role": "admin"
    }
}

我想将所有JSON相互比较,并使用最新列出的值创建一个新的JSON。结果应该是这样的:

结果

{
    "request": {
        "city": "Chicago",
        "country": "USA",
        "gender": "m",
        "role": "admin"
    }
}

为什么?

因为我们有3个JSONS和

  • Chicago出现2x
  • USA出现2x
  • m出现2x
  • admin出现2x

如何获得所需的JSON?

PS:我不需要完成的代码。如果有人可以向我解释我怎么做就足够了。

php json
1个回答
0
投票

我将为每个JSON密钥(角色,性别,城市...)创建一个数组

然后,当我解析JSON时,我会将值添加到特定的数组。

最后只计算数组中最常用的值并输出该值。

$city = ["Chicago", "Los Angeles", "Florida", "Los Angeles", "Chicago", "Chicago", "Los Angeles", "Los Angeles"];

$count = array_count_values($city);

arsort($count); 

$mostUsedCity = key($count); 

echo $mostUsedCity;

输出:洛杉矶

© www.soinside.com 2019 - 2024. All rights reserved.