在不使用循环的情况下,从一个数据库字符串值向javascript数组添加多个对象

add multiple objects to javascript array - from one single DataBase string value - WITHOUT using loop

本文关键字:字符串 数据库 一个 javascript 对象 添加 数组 循环 情况下      更新时间:2023-09-26

感谢您的关注:)

我知道我可以在一个javascript数组中同时添加多个对象,如下所示:

<script>
    var myCarsArray = ["Saab","Volvo","BMW"];
    alert("The second element in my array = "+myCarsArray[1]);
</script>

这会提醒"我的数组中的第二个元素=沃尔沃"。

我想简单地将数组值作为字符串存储在数据库中-因此数据库中会有一个名为"My_Cars_Array_database_String_Value"的字段我会把我的数组值放在那里,就像我用javascript把它们放在数组中一样——所以字符串看起来像这样:

"萨博"、"沃尔沃"、"宝马"

现在,我使用MySQL获取字符串值,并使用PHP回显该值,如以下

<script>
    var myCarsArray = [<?php echo $My_Cars_Array_Database_String_Value; ?>];
    alert("The second element in my array = "+myCarsArray[1]);
</script>

这会提醒"我的数组中的第二个元素=S'!?它将整个字符串视为一个数组。

所以我能让它发挥作用的唯一方法就是这样使用"eval":

<script>
   var myCarsArray = eval("["+<?php echo $My_Cars_Array_Database_String_Value; ?>+"]");
   alert("The second element in my array = "+myCarsArray[1]);
</script>

这会正确地提醒"我的数组中的第二个元素=沃尔沃"。


我的问题是:如何将字符串保存到数据库中,以便使用将其原样插入javascript数组中

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

不使用任何类型的循环——我知道如何使用循环来实现这一点——我不想使用循环。还是"eval"方法是唯一的方法?


澄清:

这篇文章的问题是如何将javascript可用的数组值保存为MySQL的字符串,稍后可以通过-轻松地将其插入数组

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

方法。

AND这可以在不使用循环或"eval"语句的情况下完成吗?

提前谢谢-我期待你的回复。

谨致问候,Ken

我的PHP语法有点生疏,但您应该能够说出以下内容:

<php
  <script>
  echo "var array = " . json_encode($My_Cars_Array_Database_String_Value) . ";";
  </script>
?>
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:"‘萨博’、‘沃尔沃’、‘宝马’"而不是myCarsAArray:["萨博"、‘沃尔沃"、‘宝马"]

你不想用循环来使事情复杂化吗?它们是基本而有效的流量控制工具,你已经通过尝试使用eval技巧为自己做了多复杂?

Eval是邪恶的,避免它。你试图从服务器上评估JavaScript,但你不知道它会做什么。

明确你想做什么,这不仅会让未来的维护变得更容易,而且如果其他人继承了你的工作,他们不会想找你,也不会因为你让他们的工作变成噩梦而对你做坏事。