Javascript PHP/JS-将值从PHP发送到JS数组
我有一个php数组“$values”,我想把它的值转移到一个js数组,这个数组工作得很好,唯一的问题是它把发送的两个值粘在一起作为“onetwo”,而我希望它们在我的js数组中作为两个不同的值[“one”,“two”]Javascript PHP/JS-将值从PHP发送到JS数组,javascript,php,Javascript,Php,我有一个php数组“$values”,我想把它的值转移到一个js数组,这个数组工作得很好,唯一的问题是它把发送的两个值粘在一起作为“onetwo”,而我希望它们在我的js数组中作为两个不同的值[“one”,“two”] <?php $values= ["one", "two"]; ?> <script> var Js_array = []; Js_array.push('<?php for ($x = 0; $x < co
<?php
$values= ["one", "two"];
?>
<script>
var Js_array = [];
Js_array.push('<?php
for ($x = 0; $x < count($values); $x++) {
echo $values[$x];
}
?>');
alert(Js_array);
</script>
var Js_数组=[];
Js_array.push(“”);
警报(Js_阵列);
感谢您的帮助。
您当前正在将php数组的所有项回显到Js_array.push()
函数的一个实例中,因此Js_array.push
将php数组的所有项作为一项添加到javascript数组中
<?php
$values= ["one", "two"];
function addQuotes($each_value){
return "'".$each_value."'";
}
?>
<script>
var Js_array = [<?php echo implode(",",array_map("addQuotes",$values)); ?>];
alert(Js_array);
</script>
相反,您应该在php数组的每个项上调用Js_array.push()
,这样每个项都可以分别添加到javascript数组中。下面的代码演示了所需的修改:
<?php
$values = ["one", "two"];
?>
<script>
var Js_array = [];
<?php
for ($x = 0; $x < count($values); $x++) {
echo 'Js_array.push("'.$values[$x].'");'; // call Js_array.push on each item of php array;
}
?>;
alert(Js_array);
</script>
var Js_数组=[];
;
警报(Js_阵列);
可能的副本我会检查一下,谢谢。谢谢你的回答和解释:)很高兴能帮忙,谢谢你的快速回复。祝你好运。不鼓励只使用代码的答案。你应该解释一下你做了什么,为什么这么做。否则答案将被删除。