Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从一个数据库字符串值向javascript数组添加多个对象,而不使用循环_Javascript_Arrays - Fatal编程技术网

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

从一个数据库字符串值向javascript数组添加多个对象,而不使用循环,javascript,arrays,Javascript,Arrays,感谢您的关注:) 我知道我可以在javascript数组中一次添加多个对象,如下所示: <script> var myCarsArray = ["Saab","Volvo","BMW"]; alert("The second element in my array = "+myCarsArray[1]); </script> var myCarsArray=[“萨博”、“沃尔沃”、“宝马”]; 警报(“我的数组中的第二个元素=“+myCarsAr

感谢您的关注:)

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

<script>

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

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

</script>

var myCarsArray=[“萨博”、“沃尔沃”、“宝马”];
警报(“我的数组中的第二个元素=“+myCarsArray[1]);
这会提醒“我的数组中的第二个元素=Volvo”

我只想将数组值作为字符串存储在数据库中- 因此,在数据库中有一个名为“My_Cars\u Array\u database\u String\u Value”的字段 我将把我的数组值放在那里,就像我用javascript将它们放在数组中一样-因此字符串如下所示:

<script>

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

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

</script>
“萨博”、“沃尔沃”、“宝马”

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

<script>

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

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

</script>

var myCarsArray=[];
警报(“我的数组中的第二个元素=“+myCarsArray[1]);
这会提醒“我的数组中的第二个元素=S”!?它将整个字符串视为一个数组

所以我唯一能让它工作的方法就是这样使用“eval”:

<script>

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

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

</script>

var myCarsArray=eval(“[”+“]);
警报(“我的数组中的第二个元素=“+myCarsArray[1]);
这会正确地提醒“我的数组中的第二个元素=Volvo”


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

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

如果不使用任何类型的循环-我知道如何使用循环实现这一点-我不想使用循环。还是“评估”方法是唯一的方法


澄清:

这篇文章的问题是如何保存javascript可用的数组值(作为字符串保存到MySQL),以后可以通过-

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

不使用循环或“eval”语句也能做到这一点吗

提前谢谢-我期待您的回复

问候,,
Ken

我的PHP语法有点生疏,但您应该可以这样说:

<php
  <script>
  echo "var array = " . json_encode($My_Cars_Array_Database_String_Value) . ";";
  </script>
?>

MultiDimeArray={SomeOtherValue:“SomeValue”,
麦卡萨雷:“
};
我想应该是这样

MultiDimeArray = { SomeOtherValues:"SomeValue", 
                   myCarsArray:[<?php echo $My_Cars_Array_Database_String_Value; ?>] 
                 };
MultiDimeArray={SomeOtherValues:“SomeValue”,
myCarsArray:[]
};
在输出中:
myCarsArray:‘萨博’、‘沃尔沃’、‘宝马’而不是myCarsArray:[‘萨博’、‘沃尔沃’、‘宝马’]

你不想用循环把事情复杂化吗?它们是基本且有效的流量控制工具,通过尝试使用评估技巧,您已经让自己变得多么复杂了

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


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

查看第一个PHP示例的源代码会给你带来什么?不要添加所有你知道的单词作为标记,它显示:var myCarsArray=[“萨博”、“沃尔沃”、“宝马”];这是一个包含数组的关联数组,而不是多维数组。是的,好的,多维数组是数组的数组(等等),而不是一个碰巧包含数组的对象。你能给多维数组[1]编制索引吗?不行,因为它不是数组。我刚才试过了,但没用。你测试过这个答案了吗?它对你有用吗?@kdawg你发布了一个肯定不起作用的输出。你有没有检查过你是否有多余的“或”在[…]附近?或者在…内部。此外,在你的沃尔沃之后,有“而不是”。在您尝试myCarsArray:[]之后,您是否检查过您的控制台?@kdawg我已经在控制台中测试过:MultiDimeArray={SomeOtherValues:“SomeValue”,myCarsArray:['Saab','Volvo','BMW']};它是有效的。我现在懒得打开PHP),但是如果你在浏览器中发布与你看到的相同的输出,那么“Volvo*”中肯定有错误。这是一个字符串:“'Saab','Volvo','BMW',而不是数组。我看不出有任何理由认为它不应该工作。@kdawg是否应该按原样发布代码?和变量的值,这个变量的名称很长。因为那看起来很奇怪。是的,我明白你的意思:“‘萨博’、‘沃尔沃’、‘宝马’”应该是:“‘萨博’、‘沃尔沃’、‘宝马’”“当我试图提供一个多维数组示例时,它只是一个O型。谢谢你向我指出这一点。但是-是的-数组是一个字符串-这就是我试图做的-将字符串保存为数组中的字符串-并将该字符串保存到数据库-然后将其作为字符串从数据库中拉出,并将其转换为一个数组。如果我正确阅读了他的问题,他想要一个PHP数组作为Javascript数组,而不需要手动循环。若阅读是正确的,那个么我建议用
json\u encode
替换他的现有代码。他是从数据库中获取的。一串。如果他把它放进数据库,而不是从thereLOL-evil eval中提取,那么你的例子就会起作用。为什么人们说eval是邪恶的?给我一个决定性的理由为什么eval是邪恶的?或者你只是喜欢唱它。。。我的意思是说它是因为它的边缘:)?但总体而言,我不同意你关于保存整个数组值的评论,即“使其更难”从数据库中提取一个值并将其插入一个操作中-比使用另一个循环更优雅-如果你正在循环创建数据-并循环分解数据-这是一个错误很多循环。我说它更快,更容易理解,更优雅地保存阵列。而且。。。我没有说“我不想用循环把事情复杂化”—我说“我只是不想把问题复杂化。”—循环并不复杂。任何时候我都可以从数据库中提取一些东西