在数组中搜索
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在数组中搜索相关的知识,希望对你有一定的参考价值。
我有一个api,在一个数组里面有一个数组列表,这个数组里面的每个数组它有一个键[属性],在这个键里面有一个数组,键是[CITY_NAME]。
这是我的数组,来自于apithis数组的数字是0,但是每天这个数字都在变化,我的数字也会出错,有什么好的方法可以让我的城市数字一直使用[CITY_NAME]这个键。
我使用以下代码来获取数据
$json = file_get_contents($url);
$json_data = json_decode($json, true);
$data = $json_data['features'];
$mycity = $data[0]['attributes'];
Array
(
[0] => Array
(
[attributes] => Array
(
[CITY_NAME] => city1
[Name] => city1
[ADMIN_NAME] => city1
[POP_CLASS] => 5,000,000 to10,000,000
[Population] => 7676654
[Population_Data_Source] => Wikipedia
[Population_Data_Date] => 2018
[CityID] => 14
[Longitude] => 46.7614868685786
[Latitude] => 24.7388786516234
[Confirmed] => 0
[Recovered] => 0
[Deaths] => 0
[Active] => 0
[Tested] => 0
[Name_Eng] => city1
[Join_Count] => 61
[Confirmed_SUM] => 5152
[Deaths_SUM] => 9
[Recovered_SUM] => 1407
[Active_SUM] => 3736
[Tested_SUM] => 376607
[ObjectId] => 14
)
)
[1] => Array
(
[attributes] => Array
(
[CITY_NAME] => city2
[Name] => city2
[ADMIN_NAME] => city2
[POP_CLASS] => 1,000,000 to 5,000,000
[Population] => 1675368
[Population_Data_Source] => Wikipedia
[Population_Data_Date] => 2010
[CityID] => 9
[Longitude] => 39.8148987363852
[Latitude] => 21.4273876500039
[Confirmed] => 0
[Recovered] => 0
[Deaths] => 0
[Active] => 0
[Tested] => 0
[Name_Eng] => city2
[Join_Count] => 59
[Confirmed_SUM] => 6848
[Deaths_SUM] => 85
[Recovered_SUM] => 1145
[Active_SUM] => 5618
[Tested_SUM] => 0
[ObjectId] => 9
)
)
答案
由于我可能有误解,而你可能有很多误解,所以只要建立一个新的数组与 CITY_NAME
:
foreach($data as $values)
$result[$values['attributes']['CITY_NAME']] = $values['attributes'];
现在您可以通过以下方式进入 CITY_NAME
:
echo $result['city1']['Population'];
这可能更容易。 提取所有 attributes
中的所有数组创建一个数组,然后从这个数组中创建一个以 CITY_NAME
:
$data = array_column(array_column($json_data['features'], 'attributes'),
null, 'CITY_NAME');
以上是关于在数组中搜索的主要内容,如果未能解决你的问题,请参考以下文章