0

ご覧いただきありがとうございます:)

次のように、JavaScript配列に複数のオブジェクトを一度に追加できることを知っています。

<script>

    var myCarsArray = ["Saab","Volvo","BMW"];

    alert("The second element in my array = "+myCarsArray[1]);

</script>

これにより、「配列の 2 番目の要素 = Volvo」というアラートが表示されます。

データベースに配列値を文字列として単純に保存したいので、データベースには「My_Cars_Array_Database_String_Value」というフィールドがあり、配列値をjavascriptで配列に配置するのとまったく同じ方法でそこに配置します-だから文字列は次のようになります。

「サーブ」「ボルボ」「BMW」

MySQL を使用して文字列値を取得し、PHP を使用して値をエコーし​​ます。

<script>

    var myCarsArray = [<?php echo $My_Cars_Array_Database_String_Value; ?>];

    alert("The second element in my array = "+myCarsArray[1]);

</script>

これにより、「配列の 2 番目の要素 = S」という警告が表示されます!? 文字列全体を配列として扱っています。

したがって、これを機能させる唯一の方法は、次のように「eval」を使用することでした。

<script>

   var myCarsArray = eval("["+<?php echo $My_Cars_Array_Database_String_Value; ?>+"]");

   alert("The second element in my array = "+myCarsArray[1]);

</script>

これにより、「配列内の 2 番目の要素 = Volvo」が正しく警告されます。


私の質問は次のとおりです。次を使用して、文字列をデータベースに保存して、そのままjavascript配列に挿入できるようにするにはどうすればよいですか。

myCarsArray = [<?php echo $My_Cars_Array_Database_String_Value; ?>];

?

あらゆる種類のループを使用せずに-ループでこれを達成する方法を理解しています-ループを使用したくありません。または、「eval」メソッドが唯一の方法ですか?


説明:

この投稿に関する質問は、JavaScript で使用可能な配列値を MySQL への文字列として保存する方法です。これは、後で簡単に配列に挿入できます。

myCarsArray = [<?php echo $My_Cars_Array_Database_String_Value; ?>]; 

方法。

そしてこれは、ループまたは「eval」ステートメントを使用せずに行うことができますか?

よろしくお願いします。返信をお待ちしております。

よろしく、ケン

4

3 に答える 3

0

私の PHP 構文は少しさびていますが、次のように言えるはずです。

<php
  <script>
  echo "var array = " . json_encode($My_Cars_Array_Database_String_Value) . ";";
  </script>
?>
于 2012-09-04T22:55:48.047 に答える
0
MultiDimeArray = { SomeOtherValues:"SomeValue", 
                   myCarsArray:"<?php echo $My_Cars_Array_Database_String_Value; ?>" 
                 };

それがすべきであると仮定します

MultiDimeArray = { SomeOtherValues:"SomeValue", 
                   myCarsArray:[<?php echo $My_Cars_Array_Database_String_Value; ?>] 
                 };

出力: myCarsArray: " 'Saab','Volvo",'BMW' "の代わりに myCarsArray: [ 'Saab','Volvo",'BMW' ]

于 2012-09-04T22:57:07.383 に答える
0

ループで物事を複雑にしたくありませんか? これらは基本的で効果的なフロー制御ツールですが、eval トリックを使用しようとして、どれだけ複雑になったことがありますか?

Eval は悪です。避けてください。サーバーから JavaScript を評価しようとしていますが、それが何をするかわかりません。

あなたがやろうとしていることを明確にしてください。それは将来のメンテナンスを容易にするだけでなく、他の誰かがあなたの仕事を継承した場合、彼らはあなたを追い詰めたり、仕事を悪夢にするためにあなたに悪いことをしたくないでしょう. .

于 2012-09-04T23:01:01.373 に答える