Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按索引从字符串中获取值_Php_Arrays_Json_Json Deserialization - Fatal编程技术网

Php 按索引从字符串中获取值

Php 按索引从字符串中获取值,php,arrays,json,json-deserialization,Php,Arrays,Json,Json Deserialization,我有一个如下格式的数据字符串: [{"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"}] 字符串不像常规数组那样有任何索引/数字,我发现很难提取单个值,例如,使用常规数组我可以使用: $

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

[{"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"] 
$string[1]["pr_a_w"] 
要获得“pr_a_w”的第一个实例,我可以使用:

$string[0]["pr_a_w"] 
$string[1]["pr_a_w"] 
获得第二审等


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

您拥有的是有效的JSON(对象序列化数组),因此可以使用将序列化数据转换为本机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>";
}
$json_arr=json_decode('[{“pr_a_w”:“10”,“pr_a_we”:“10”,“pr_c_we”:“10”},{“pr_a_w”:“20”,“pr_a_we”:“20”,“pr_c_we”:“20”,“pr_c_we”:“20”;“pr_a_we”:“111”,“pr_a___we”:“11”,“pr______w”:“pr”;“pr___________”;“111”,“真正的”111);
foreach($json\u arr作为$row){
echo$row['pr_a_w']。“
”; }
谢谢,感谢您的帮助!这比我想象的要容易得多!