0

私はおそらくここで簡単なことを見逃しているでしょうが、とにかく尋ねるのが最善だと思います。

私は次のコードを持っています:

$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}}}';

foreach内で使用するために$obj変数を呼び出そうとすると、エラーが発生します。変数に格納されている名前を表示するために追加する必要があるものはありますか?

PS私は残りのコードに問題はありません

4

1 に答える 1

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

于 2012-07-16T23:01:00.737 に答える