所以我有这个json文件
[
{
"var1": "6",
"var2": "13",
"var3": "17"
},
{
"var1": "9",
"var2": "11",
"var3": "6"
}
]
如何只获取var2
和13
的{{1}}的值?
答案 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
。