2017-08-24 25 views
-5

值我有以下存儲在一個JSON文件JSON數據,這JSON的架構是不同的,所以這個問題是不重複: - 爲什麼會產生「空」查找鍵和其從JSON文件中的PHP

從下面的PHP? : -

<?php 

$url = "file.json"; 
echo $url . "<br>"; 

$json_string = file_get_contents($url); 
echo $json_string . "<br>"; 

$json_array = json_decode($json_string, true); // need an associative array 
var_dump(json_decode($json_array)); 

?> 

問題:如果 「代碼」: 「XXX」 的存在,如何在PHP中發現的 「城市」, 「國家」 和 「區域」 的值: -

[ 
    { 
    "code": "XXX", 
    "city": "Indore", 
    "state": "Madhya Pradesh", 
    "region": "W" 
    }, 
    { 
    "code": "XXY", 
    "city": "Vapi", 
    "state": "Gujarat", 
    "region": "W" 
    }, 
    { 
    "code": "XXZ", 
    "city": "Kolkata", 
    "state": "West Bengal", 
    "region": "E" 
    }, 
    { 
    "code": "XXV", 
    "city": "Sundar Nagar", 
    "state": "Himachal Pradesh", 
    "region": "N" 
    } 
] 
+2

_...所以這個問題不是很好duplicate_它... –

+2

*「這個JSON的結構是不同的」 * - 這樣嗎?字面上有無數的可能的JSON文件;我們不會回答有關每一個問題。只需要解釋一下如何在JSON文件中查找某些內容的概念*,然後程序員*就可以根據具體情況對其進行調整。你有什麼嘗試,沒有奏效? – deceze

+0

您正在嘗試解碼已經解碼的數組... – deceze

回答

0

試試下面碼。首先解碼JSON然後依次通過它

$json = '[ 
    { 
    "code": "XXX", 
    "city": "Indore", 
    "state": "Madhya Pradesh", 
    "region": "W" 
    }, 
    { 
    "code": "XXY", 
    "city": "Vapi", 
    "state": "Gujarat", 
    "region": "W" 
    }, 
    { 
    "code": "XXZ", 
    "city": "Kolkata", 
    "state": "West Bengal", 
    "region": "E" 
    }, 
    { 
    "code": "XXV", 
    "city": "Sundar Nagar", 
    "state": "Himachal Pradesh", 
    "region": "N" 
    } 
]'; 
$arr = json_decode($json,true); 
$find_val = "XXX"; 
$city = $region =$state = ""; 
foreach ($arr as $key => $value) { 
    if($value['code'] == $find_val) 
    { 
    $city = $value['city']; 
    $state =$value['state']; 
    $region = $value['region']; 
    } 
} 
echo $city; 
echo "<br>"; 
echo $state; 
echo "<br>"; 
echo $region;