我有点抓狂了,try 不同的东西.我有一些Geojson,并试图从它的信息与PHP.JSON如下所示:

{ "type": "Feature", "properties": { "PLAN_NO": "HP4002" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -1.269204733799349, 60.69917889926522 ], [ -1.26900101889315, 60.708156244292169 ], [ -1.25068179301849, 60.708055130595085 ], [ -1.250890613767938, 60.699077822506901 ], [ -1.269204733799349, 60.69917889926522 ] ] ] } 
},
{ "type": "Feature", "properties": { "PLAN_NO": "HP4003" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -1.26900101889315, 60.708156244292169 ], [ -1.268797174460049, 60.71713348706259 ], [ -1.250472839496742, 60.717032336406525 ], [ -1.25068179301849, 60.708055130595085 ], [ -1.26900101889315, 60.708156244292169 ] ] ] } 
}
$filename = 'test.json';
$data = file_get_contents($filename);
$features = json_decode($data, true);

我正在试着得到每一个的计划和坐标.我看到的所有json示例都有如下内容:

"properties": [ {"PLAN_NO": "HP002"}, etc ] 

所以你可以这样做

foreach ($features as $feature) {
    $plan = $feature['PLAN_NO'];
}

因为我的JSON格式有点不同,我不知道如何使用它.感谢您在正确方向上的任何指点.

推荐答案

在您的JSON数据中,PLAN_NO嵌套在properties中,而properties嵌套在每个Feature中.因此,您需要使用$feature['properties']['PLAN_NO']访问它.类似地,坐标嵌套在geometry内,该坐标也嵌套在每个Feature内.

foreach ($features as $feature) {
    $plan = $feature['properties']['PLAN_NO'];
    $coordinates = $feature['geometry']['coordinates'];
}

Php相关问答推荐

Mysqli_stmt::Execute():结果字段元数据中存在过早的EOF

从WooCommerce购物车和 checkout 页面自定义发货标签

通过DO LAMP进行身份验证并从邮箱发送邮箱的最简单方式是什么

获取并判断WooCommerce用户订阅结束日期

PHP -多维数组到一维数组

PHP从响应应用程序json获取文件代码和URL

将数组推送到数组时,数组推送()出现问题

WooCommerce在购买后多次重定向

如何保存基于用户 Select 的复选框 Select 模式

如果日期是过go 日期,则隐藏事件发布类型

SFTP在PHP(phpseclib3\Net\SFTP)-过滤目录列表结果服务器端可能吗?类似于psftp中的LS命令?

Regex:高级删除单行PHP注释

Regex|PHP捕获json字符串中的每个非法双引号

如果所有请求都通过index.php路由,如何使用htaccess文件强制使用HTTPS?

在 php 中生成 MAC ISO/IEC 9797-1

使用 Composer 找不到 Google APIClient 类

正则表达式将文本替换为标签 html 以字符开头

如何获得没有运输等级的产品

PHP删除具有相同键的项目,除了具有最低值的项目

升级到 PHP 8.2:ksort 和 krsort 更改