尝试从 PHP 中的 json 响应访问特定值
Trying to access specific values from json response in PHP
我有一个 JSON 响应是可变的,我试图从 JSON 访问一些特定的值,问题是变量名称也是动态的,所以我们不能直接访问它的名称它 returns 一个错误,因为响应字段名称也是动态的。
这是我的回复:
{"ggru":195,"_grant_1647561070":"ya88op110","success":true}
我从这个响应中真正想要的是我想访问 _grant_1647561070 值 ya88op110 但是这个 _grant_1647561070 每次刷新会话时数字都会改变我也希望这个数字 1647561070 在变量中。
所以响应应该是这样的:
变量 a= ya88op110;
变量 b= 1647561070;
谁能帮帮我?
你没有这么说,但我不得不假设 _grant_
是 json 字符串中的常量。如果那是真的,你可以这样做:
<?php
$json = '{"ggru":195,"_grant_1647561070":"ya88op110","success":true}';
$array = json_decode($json);
foreach ($array as $key => $value) {
if (substr($key, 0, 7) == '_grant_') {
$a = $value;
$b = substr($key, 7);
break;
}
}
echo "a = $a\n<br>\nb = $b";
这个returns:
a = ya88op110
<br>
b = 1647561070
代码相当 self-explanatory: 搜索以 _grant_
开头的键并提取值。
我有一个 JSON 响应是可变的,我试图从 JSON 访问一些特定的值,问题是变量名称也是动态的,所以我们不能直接访问它的名称它 returns 一个错误,因为响应字段名称也是动态的。
这是我的回复:
{"ggru":195,"_grant_1647561070":"ya88op110","success":true}
我从这个响应中真正想要的是我想访问 _grant_1647561070 值 ya88op110 但是这个 _grant_1647561070 每次刷新会话时数字都会改变我也希望这个数字 1647561070 在变量中。
所以响应应该是这样的: 变量 a= ya88op110; 变量 b= 1647561070;
谁能帮帮我?
你没有这么说,但我不得不假设 _grant_
是 json 字符串中的常量。如果那是真的,你可以这样做:
<?php
$json = '{"ggru":195,"_grant_1647561070":"ya88op110","success":true}';
$array = json_decode($json);
foreach ($array as $key => $value) {
if (substr($key, 0, 7) == '_grant_') {
$a = $value;
$b = substr($key, 7);
break;
}
}
echo "a = $a\n<br>\nb = $b";
这个returns:
a = ya88op110
<br>
b = 1647561070
代码相当 self-explanatory: 搜索以 _grant_
开头的键并提取值。