尝试从 PHP 中的 json 响应访问特定值

Trying to access specific values from json response in PHP

我有一个 JSON 响应是可变的,我试图从 JSON 访问一些特定的值,问题是变量名称也是动态的,所以我们不能直接访问它的名称它 returns 一个错误,因为响应字段名称也是动态的。

这是我的回复:

{"ggru":195,"_grant_1647561070":"ya88op110","success":true}

我从这个响应中真正想要的是我想访问 _grant_1647561070ya88op110 但是这个 _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_ 开头的键并提取值。