Php 在foreach中调用JSON中的父字段

Php 在foreach中调用JSON中的父字段,php,arrays,object,json,Php,Arrays,Object,Json,我可能在这里遗漏了一些简单的东西,但我觉得还是问问为好 我有以下代码: $newarray = json_decode($jsoncode); $rad = 24; foreach ($newarray->objname as $obj) { echo "<map name='" . $mapname . "'>"; echo "<area shape=\"circle\" coords='" . $obj->x . "," . $obj->y

我可能在这里遗漏了一些简单的东西,但我觉得还是问问为好

我有以下代码:

$newarray = json_decode($jsoncode);
$rad = 24;
foreach ($newarray->objname as $obj)
{
    echo "<map name='" . $mapname . "'>";
    echo "<area shape=\"circle\" coords='" . $obj->x . "," . $obj->y . "," . $rad . "' alt='" . $obj . "'>";
    echo '</map>';
}
我在尝试调用$obj变量以在foreach中使用时出错。我是否需要添加一些东西来显示存储在变量中的名称


另外,我对代码的其余部分没有问题

PHP的
foreach
语法应该是这样的-

foreach ($array AS $key=>$object){ 
  ... 
}
foreach ($newarray AS $objectName => $obj)
所以你的代码应该是这样的-

foreach ($array AS $key=>$object){ 
  ... 
}
foreach ($newarray AS $objectName => $obj)
  • $objectName
    $newarray
    中的索引
  • $obj
    是数组中的实际元素

文档中对
foreach
语句的语法作了如下说明-

foreach(数组表达式为$value)

语句

foreach(数组\表达式为$key=>$value)

语句


你是说foreach($newarray->objname AS$key=>$obj){事实上,我印象深刻!这解释得更清楚了!完全理解函数和了解它们的工作原理很容易打败它们。谢谢,在这个时间限制之后我会接受的。实际上,我刚刚测试了它,我仍然需要$newarray->objname,但其余的都很好。将来,如果您遇到任何错误,请应该把它们包括在你的帖子里。。。