【发布时间】:2015-03-27 21:31:50
【问题描述】:
我很难从以下 JSON 对象中提取值
array(3) { [0]=> object(stdClass)#1 (11) { ["Group"]=> string(2) "18" ["GroupName"]=> string(8) "Wireline" ["Region"]=> string(2) "15" ["RegionName"]=> string(8) "Atlantic" ["Province"]=> string(1) "1" ["ProvinceName"]=> string(13) "New Brunswick" ["City"]=> string(2) "11" ["CityName"]=> string(10) "Campbelton" ["Site"]=> string(2) "37" ["SiteName"]=> string(16) "Campbellton PNCT" ["Year"]=> string(4) "2016" }
[1]=> object(stdClass)#2 (5) { ["PlatformID"]=> string(1) "1" ["PlatformTag"]=> string(6) "Access" ["Rack"]=> string(24) "23" Width 36" Depth Rack" ["RackValue"]=> string(1) "2" ["Comments"]=> string(0) "" }
[2]=> object(stdClass)#3 (12) { ["Rack"]=> string(31) "23" Width 36" Depth Rack Access" ["RackValue"]=> string(1) "2" ["RackComments"]=> string(0) "" ["Manufacturer"]=> string(6) "werwer" ["Name"]=> string(6) "werwer" ["Quantity"]=> string(1) "1" ["RackUnits"]=> string(1) "1" ["Power"]=> string(1) "1" ["ActivePassive"]=> string(6) "Active" ["ACDC"]=> string(2) "AC" ["ConnectivityIDs"]=> array(1) { [0]=> string(1) "2" } ["Connectivity"]=> array(1) { [0]=> string(5) "Fiber" } } }
我正在尝试在 PHP 中的 foreach 循环中提取每个项目 上面是 $data[0] JSON 对象的 var_dump,它演示了 Array 项目的外观。
我的foreach如下
$data = json_decode($_POST["submitdata"]);
$Forecasts = $data[0];
foreach($Forecasts as $Forecast){
echo($Forecast->PlatformID);}
但它没有返回任何结果。有人可以向我解释如何从对象中的第二个 Array 中获取它吗?
【问题讨论】:
-
请使用代码格式化
-
$Forecasts 在哪里定义?你能把定义的代码贴在这里吗?
-
添加到上面以便您可以看到它的定义位置。
-
$Forecasts 持有一个对象而不是数组。此外,索引 0 没有 PlatformID 属性。这仅在索引 1 处找到。您可以执行 $Forecasts = $data[1]; echo($Forecast->PlatformID); $data 是一个数组,因此您可以对其进行循环。我不确定你想在这里做什么。
-
上述数组示例来自 var_dump($data[0]);索引 1 处没有元素以上是由 3 个内部元素组成的一个元素