我可能在这里遗漏了一些简单的东西,但无论如何我觉得最好问。
我有以下代码:
$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>';
}
来自手动创建的json字符串:
$jsoncode = '{"objname":{"Forest 1":{"x":120,"y":120},"Forest 2":{"x":434,"y":225}}}';
我在尝试调用$ obj变量以在foreach中使用时出错。是否有类似的东西我必须添加它以显示存储在变量中的名称?
P.S。我对其余代码没有任何问题
答案 0 :(得分:2)
PHP的foreach
语法应该是这样的 -
foreach ($array AS $key=>$object){
...
}
所以你的代码应该是这样的 -
foreach ($newarray AS $objectName => $obj)
$objectName
是$newarray
。$obj
是数组中的实际元素。http://php.net/manual/en/control-structures.foreach.php
文档说明了foreach
语句的语法 -
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement