원격으로 변경된 json 코드를 가져와 사용자가 페이지를로드 할 때 에 데이터를 표시해야합니다. 이 코드를php에 의해 json을 읽어야합니다.
IT (에코) (JSON 출력 :
{
"area 267":[
"city1",
"city2",
"city3",
"city4",
"city5",
"city6",
"city7",
"city8",
"city9",
"city10",
"city11",
"city12",
"city13"
],
"area 268":[
"city14",
"city15",
"city16"
],
"Coords":[
"31.856128;34.760947",
"31.8166376;34.729755",
"31.857223;34.727432",
"31.843444;34.751793",
"31.831039;34.722577",
"31.831504;34.756643",
"31.817725;34.7223",
"31.815936;34.752588",
"31.819054;34.739162",
"31.824913;34.747459",
";",
"31.813987;34.719103",
"31.833778;34.74009",
"31.815936;34.752589",
"31.819054;34.739163",
"31.824913;34.747458",
],
"ID":"1405796061262"
}
좌표 라인은 모든 지역의 합이다.
내가이 같은 JSON 에코해야합니다 (PHP 출력은 내가 지역과 도시 (즉 JSON 파일에서) 알고 어차피 :
ID: 1405796061262.
Areas: area267, area268.
Citys of Area267: city1, city2, ... city13. (echo all cities in the area)
Citys of Area268: city14, city15, city16. (echo all cities in the area)
처럼해야합니다. 돕는
감사합니다 :)
편집 : WORKING 코드 첫번째
<?php
$json_data = '{
"area 267":[
"city1",
"city2",
"city3",
"city4",
"city5",
"city6",
"city7",
"city8",
"city9",
"city10",
"city11",
"city12",
"city13"
],
"area 268":[
"city14",
"city15",
"city16"
],
"ID":"1405796061262"
}';
$data = json_decode($json_data);
//var_dump($data);
echo 'ID: ';
echo $data->ID;
echo '.<br>';
echo 'Areas: ';
$areas = array();
foreach ($data as $k => $v) {
if (strpos($k, 'ID') !== 0 && strpos($k, 'Coords') !== 0) {
$areas[] = $k;
}
}
echo implode(', ',$areas).'.<br /><br />';
foreach ($areas as $k => $v) {
echo "Cities of ".$v.': ';
$cities = array();
$cities = null;
foreach ($data->$v as $area) {
$cities[] = $area;
}
echo implode(', ',$cities).'.<br />';
}
?>
을 작동합니다. 먼저 ID와 영역을 인쇄 한 다음 모든 영역을 반복하고 모든 영역에 대해 도시를 반복합니다 (중첩 루프). 지금까지 해봤습니까? 이 문제를 해결하기 위해 작성한 코드를 게시 할 수 있습니까? –