我有htis json文件:
{
"waluta": "EUR",
"vat": 1,
"01_00101": {
"cena": 130.8,
"kod": "00101",
"nazwa": "Span TRICK 1200/1982-ABS",
"powiazanyZ": "00139"
},
"01_00102": {
"cena": 125.86,
"kod": "00102",
"nazwa": "Span TRICK 1200/1864-ABS",
"powiazanyZ": "00140"
},
"02_00122": {
"cena": 0,
"kod": "00122",
"nazwa": "SET to Wicket TRICK 1200 elektrolock RIGHT",
"powiazanyZ": "00000"
},
"02_00123": {
"cena": 0,
"kod": "00123",
"nazwa": "SET to Wicket TRICK 1200 elektrolock LEFT",
"powiazanyZ": "00000"
},
"02_00152": {
"cena": 0,
"kod": "00115",
"nazwa": "Gate ABS 1200/3070 prepared to servomotor ARM 400",
"powiazanyZ": "00138"
},
"02_00138": {
"cena": 0,
"kod": "00115",
"nazwa": "Gate ABS 1200/3070 handle, bolt",
"powiazanyZ": "00152"
}
}
在我的PHP代码中,我这样读:
$string = file_get_contents("cennik-en.json");
$cennik_a=json_decode($string,true);
我希望通过“kod”值访问值。这可能吗? 因为按键值,我认为我可以这样做:
$json_a['01_00101'][nazwa];
答案 0 :(得分:2)
function returnMainKey( $json, $kod) {
foreach( $json as $key => $value)
if( is_array( $value))
if( isset( $value["kod"]) && $value["kod"] == $kod)
return $key;
return null;
}
$string = file_get_contents("cennik-en.json");
$cennik_a=json_decode($string,true);
$key = returnMainKey( $cennik_a, "00101");
echo $cennik_a[$key]["nazwa"];
答案 1 :(得分:1)
您应该能够获得“kod”值,如下所示:
$kod = $json_a['01_00101']["kod"];
在上面的示例中,您尝试使用[nazwa]
进行访问,因为密钥是字符串,因此应该["nazwa"]
。