亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Geonames api 循環并獲取城市名稱

Geonames api 循環并獲取城市名稱

PHP
滄海一幻覺 2023-10-15 16:23:09
$jsonfile = file_get_contents("http://api.geonames.org/searchJSON?username=ksuhiyp&country=pt&maxRows=1000&style=SHORT");    $jsondata = json_encode($jsonfile);    $cities = explode(',', $jsondata);    foreach($cities as $key => $value){        echo $value;    }我怎樣才能只獲取數組中包含的所有城市名稱(例如......里斯本,波爾圖,阿威羅......)?這是數組的示例:{"totalResultsCount":37305,"geonames":[{"lng":"-9.13333","geonameId":2267057,"countryCode":"PT","name":"Lisbon","toponymName":"Lisbon","lat":"38.71667","fcl":"P","fcode":"PPLC"},{"lng":"-8.61099","geonameId":2735943,"countryCode":"PT","name":"Porto","toponymName":"Porto","lat":"41.14961","fcl":"P","fcode":"PPLA"},{"lng":"-8.42005","geonameId":2742032,"countryCode":"PT","name":"Braga","toponymName":"Braga","lat":"41.55032","fcl":"P","fcode":"PPLA"},{"lng":"-8.8882","geonameId":2262963,"countryCode":"PT","name":"Setúbal","toponymName":"Setúbal","lat":"38.5244","fcl":"P","fcode":"PPLA"},{"lng":"-8.13057","geonameId":2264397,"countryCode":"PT","name":"Portugal","toponymName":"Portuguese Republic","lat":"39.6945","fcl":"A","fcode":"PCLI"},
查看完整描述

1 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

對于初學者來說,這是一種非常丑陋的獲取數據的方式,因為您正在對已經是 json 的 json 數據進行編碼,然后僅循環生成的損壞字符串的片段。


這將為您提供一個僅包含名稱的結果數組:


$jsonfile = file_get_contents("http://api.geonames.org/searchJSON?username=ksuhiyp&country=pt&maxRows=1000&style=SHORT");

$geodat = json_decode($jsonfile,true);

$names = array();

foreach($geodat['geonames'] as $geoname) {

    $names[] = $geoname['name'];

}

print_r($names);

輸出示例:


Array (

    [0] => Lisbon

    [1] => Porto

    [2] => Braga

    [3] => Setúbal

    [4] => Portugal

    [5] => Coimbra

    [6] => Funchal

    [7] => Amadora

    [8] => Queluz

    [9] => Lisbon metropolitan area

    ...


查看完整回答
反對 回復 2023-10-15
  • 1 回答
  • 0 關注
  • 313 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號