0

我有 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];
4

2 回答 2

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"];
于 2012-06-18T23:19:19.953 回答
1

您应该能够像这样获得“kod”值:

$kod = $json_a['01_00101']["kod"];

在上面的示例中,您尝试使用[nazwa]何时应该访问,["nazwa"]因为键是字符串。

于 2012-06-18T22:16:15.383 回答