如何使用php从json文件中获取特定键

时间:2016-02-07 21:34:21

标签: php arrays json

所以我有这个json文件

[
    {
        "var1": "6",
        "var2": "13",
        "var3": "17"
    },
    {
        "var1": "9",
        "var2": "11",
        "var3": "6"
    }
]

如何只获取var213的{​​{1}}的值?

3 个答案:

答案 0 :(得分:1)

使用json_decode()

$json = '[{    "var1": "6",    "var2": "13",    "var3": "17"},{    "var1": "9",    "var2": "11",    "var3": "6"}];'
$array = json_decode ($json, true);
$values = [];
foreach ($array as $ar) {
    $values[] = $ar['var2'];
}
var_dump($values);

答案 1 :(得分:1)

您可以使用json_decode功能,然后使用foreach获取您想要的值

$data = json_decode("your.json");

foreach ($data as $obj) {
    print $obj->var2;
}

json_decode让您选择要检索的数据格式(对象或关联数组),如果您更喜欢关联数组样式,只需将 true 传递为json_decode

的第二个参数
$data = json_decode("your.json", true);

foreach ($data as $obj) {
    print $obj['var2'];
}

答案 2 :(得分:1)

您可以在json_decode旁边使用array_column,无需不必要的循环。

array_column(json_decode($json_string, true), 'var2'); // [13, 11]

对于array_column,第一个参数是数组,第二个参数是您要访问的键。

json_decode第一个参数是一个字符串 - 你的json。第二个参数告诉它返回一个数组而不是stdClass

http://php.net/manual/en/function.array-column.php