通过索引从字符串中获取值

Getting value from string by index

我有一串格式如下的数据:

[{"pr_a_w":"10","pr_a_we":"10","pr_c_w":"10","pr_c_we":"10"},{"pr_a_w":"20","pr_a_we":"20","pr_c_w":"20","pr_c_we":"20"},{"pr_a_w":"111","pr_a_we":"11","pr_c_w":"111","pr_c_we":"111"}]

该字符串没有像常规数组那样的任何 index/numbers,我发现很难提取单个值,例如我可以使用常规数组:

$string[0]["pr_a_w"] 

要获取 "pr_a_w" 的第一个实例,我可以使用:

$string[1]["pr_a_w"] 

获取二审等

是否可以根据数字从该字符串中获取单个值?

您拥有的是有效的 JSON(对象的序列化数组),因此您可以使用 json_decode 将序列化数据转换为本机数据PHP数组:

$array = json_decode('[{"pr_a_w":"10","pr_a_we":"10","pr_c_w":"10","pr_c_we":"10"},{"pr_a_w":"20","pr_a_we":"20","pr_c_w":"20","pr_c_we":"20"},{"pr_a_w":"111","pr_a_we":"11","pr_c_w":"111","pr_c_we":"111"}]',true);

$array 将允许您完全按照您在上面所说的那样做。

$array[0]["pr_a_w"]; // will give you 10
$array[1]["pr_a_w"]; // will give you 10

这样试试,不需要用数组索引访问。如果你访问错误的索引,你会得到错误。

$json_arr= json_decode('[{"pr_a_w":"10","pr_a_we":"10","pr_c_w":"10","pr_c_we":"10"},{"pr_a_w":"20","pr_a_we":"20","pr_c_w":"20","pr_c_we":"20"},{"pr_a_w":"111","pr_a_we":"11","pr_c_w":"111","pr_c_we":"111"}]',true);

foreach($json_arr as $row){
    echo $row['pr_a_w']."<br>";
}