2

したがって、私の特定の問題は次のとおりです。座標のリストをループしてページに表示する PHP ページがあります。

これと同様に、それらを地図上に表示したいと考えています。

私はこれを行うための 2 つの方法を考え出しました。どちらもうまくいきます。

私の理解では、JavaScript を以下に配置すると、ページが読み込まれるまで JavaScript が実行されません。このため、両方の方法が機能します。

$(document).ready(function() 
{

});

最初のものは非表示のフォーム フィールドです。経度と緯度を渡して、jQuery を使用して JavaScript ファイルで取得できます。

2つ目は、単に使用することです

<script type='text/javascript'>
    var myarray = <?php echo JSON_encode($array); ?>;

</script>

PHPスクリプト内で、Javascriptファイルでアクセス/ループするのと同様の方法で、PHPファイルでループします。

    for (var i=0, tot=myarray.length; i < tot; i++) 
{//plot points}

ありがとう

4

2 に答える 2

1

私は間違いなく JavaScript 配列を使用します。

理由:

(1) フォーム フィールドはサーバーに投稿するためのものであり、それを行っていません。では、必要のない非表示の入力要素を DOM に追加する必要はありません。

(2) JavaScript 配列の値を操作しやすくなります。それらを繰り返し処理する方が簡単で、文字列値である必要はありません。非表示の入力要素の値を取得すると、それは文字列になります。それが本当に別のものである場合は、別のタイプに解析する必要があります。JavaScript の値は、ネストされたオブジェクトである可能性さえあります。

パフォーマンスのベンチマークについては心配しません。大きな違いはないでしょう。コーディングの容易さはより重要です。

于 2013-03-22T20:25:58.407 に答える
0

次の点を考慮してください。オプション番号2(サーバー上でループする)を使用し、同時に200のリクエストがある場合、各リクエストはサーバーでこのループを実行します。これで、配列をJSONエンコードしてクライアントに提供すると、サーバーでの処理が完了し、残りはさまざまなブラウザー(クライアント)に処理されます。さて、同じ量(200)をjsonにシリアル化する必要がある場合、状況は変わります。つまり、速度とパフォーマンスの問題です。どちらが速いのでしょうか。どちらがパフォーマンスが優れているJSON_encodeか、forループしてすべてをサーバーに書き込みますecho()か?答えは、オブジェクトのサイズによって異なります。したがって、ぜひとも、どちらが速いかをテストしてください。スクリプトの単純なベンチマークで十分です。

于 2013-03-22T20:25:18.997 に答える