1

私はjavascriptに次のコードを持っています私は以下
のjavascript配列にphp配列を保存しています

<script type="text/javascript">

    var name=new Array();
    <?php
        for($i=0;$i<count($ids); $i++)
            {
                echo "name[$i]='".$name[$i]."';";
            }
    ?>

</script>

name [1]にアラートを送信すると、Firefoxではname [1]の値を確認できますが、Chromeでコードを実行すると、アラートボックスで未定義になります。

どうすればこれを解決できますか。配列の保存方法を変更する必要がありますか、それとも他のことをする必要がありますか。

4

1 に答える 1

1

変数を宣言することで大きな罪を犯しているため:

  • これはグローバルであり、悪い習慣です。
  • その名前は ですname。これはクロムの予約済みキーワードです。コンソールを開いて と入力するだけでfor (n in window){if (n === 'name'){console.log(true)}}、true がログに記録されます。
  • 使わないnew Array();、使う[]

PHP フロント: 一貫して二重引用符を使用するか、単一引用符を使用します (ただし、それは私の個人的な好みです):

echo "name[$i]='{$name[$i]}';";
echo 'name['.$i.']="'.$name[$i].'";';

ただし、カーリーの配置方法のように... :-P

于 2012-08-07T11:12:59.880 に答える