Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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 解析数组中的JSON数据_Php_Json - Fatal编程技术网

Php 解析数组中的JSON数据

Php 解析数组中的JSON数据,php,json,Php,Json,我有下面的JSON,并试图用这个foreach解析它。我只得到-104.21的回报。我需要输出为37.72,-104.21 "start_latlng":[ 37.72, -104.21 ], foreach($stData['start_latlng'] as $latlng) { $stLatLng = $latlng; } PHP通过“start_latlng”数组循环:当我echo$stLatLng时,我只得到-104.21 foreach($stData['start

我有下面的JSON,并试图用这个foreach解析它。我只得到-104.21的回报。我需要输出为37.72,-104.21

"start_latlng":[
  37.72,
  -104.21
],
foreach($stData['start_latlng'] as $latlng) {
   $stLatLng = $latlng;
}
PHP通过“start_latlng”数组循环:当我
echo
$stLatLng时,我只得到-104.21

foreach($stData['start_latlng'] as $latlng) {
   $stLatLng = $latlng;
}

从您得到的
-104.21
事实来看,我认为您已经将JSON解码为PHP格式

foreach($stData['start_latlng'] as $latlng) {
   $stLatLng = $latlng;
}
之所以只能获取该值,是因为它是数组中的最后一个值,并且在迭代数组时,您将
$stlatng
分配给数组中的每个值,因此每次都会覆盖该变量,请参见示例:

foreach($stData['start_latlng'] as $latlng) {
   $stLatLng = $latlng;
}
foreach($stData['start_latlng'] as $latlng) {
   $stLatLng = $latlng; // first time it's 37.72, second time it's -104.21
}
在这个循环中发生了什么

foreach($stData['start_latlng'] as $latlng) {
   $stLatLng = $latlng;
}

要获得这两个值,不需要循环它。您只需使用即可获取这两个值:

foreach($stData['start_latlng'] as $latlng) {
   $stLatLng = $latlng;
}

查看
json_decode
$stLatLng=intlode(',',$stData['start_latlng')$stData
的普通PHP代码替换第一个代码段吗?如果您不确定,您可以使用
var\u export()
来获得它。