我有一串格式如下的数据:
[{"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"}]
字符串没有像常规数组那样的索引/数字,我发现很难提取单个值,例如我可以使用常规数组:
$string[0]["pr_a_w"]
获取" pr_a_w"的第一个实例我可以使用:
$string[1]["pr_a_w"]
获取第二个实例等。
是否可以根据数字来获取此字符串中的单个值?
答案 0 :(得分:2)
您拥有的是有效的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
答案 1 :(得分:1)
尝试这样,不需要使用数组索引访问。如果访问错误的索引,您将收到错误。
$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>";
}