0

素敵な例で問題を抱えています。私はこのGoogleマップの例を使用し、javascriptで作成されたローカル配列で動作しています:http: //jsfiddle.net/jFMQ5/2/

今、私はそれを変更してphpから配列を取得する必要があります。

手順は次のとおりです

  • PHPで配列を作成する
  • json_encodeを使用して配列をjsonに変換します
  • javascriptでそれをつかみます

質問...配列ではなくjsonを反復処理する方法。またはjsonからjavascript配列を作成する方法

私のJavaScriptでこれを取得しました(これも文字セットエラーでいっぱいですが、それは別の問題だと思います)

var arrAddress = ["Sir vej 3 7500 Holstebro","Ivar Lundgaardsvej 8 7500 Holstebro","H\u00f8jtoftvej 6 7500 Holstebro","Svalev\u00e6nget 22 7500 Holstebro","Ringk\u00f8bingvej 21 7500 Holstebro","Elkj\u00e6rvej 90 7500 Holstebro","Hovedgaden 2 7500 Holstebro","Skolegade 32 7500 Holstebro","Fuglsangvej 2 7500 Holstebro","Sl\u00e5envej 150 7500 Holstebro","Burvej 2A Idom 7500 Holstebro"];

jsfiddleの例では、次のような配列が必要です。

$arrAddress[0] = "Sir vej 3 7500 Holstebro";
$arrAddress[1] = "Ivar Lundgaardsvej 8 7500 Holstebro"
etc. etc.

ローカルで定義された配列の代わりに、このjson文字列でjsfiddleリンクを機能させるにはどうすればよいですか?

UPDATE PHPは、次のような配列を作成しています。

// in PHP //
While(...) {
    $arrAddress[] = $row['address'].' '.$row['zip'].' '.$row['city'];
}
// after while
$arrAddress = json_encode($arrAddress);
// end php //

// in javascript //
var addAddress = {$arrAddress}
4

1 に答える 1

0

JavaScript で JSON オブジェクトを返していますか? aを実行してconsole.log(addAddress)、文字列またはオブジェクトが返されるかどうかを確認してください。これにより、「配列」インデックスも表示されます(とにかくChromeで)。

json文字列も解析してみてください

var addAddress = $.parseJSON({$arrAddress});
于 2012-05-30T20:23:49.163 に答える