Javascript PHP/JS-将值从PHP发送到JS数组

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”,我想把它的值转移到一个js数组,这个数组工作得很好,唯一的问题是它把发送的两个值粘在一起作为“onetwo”,而我希望它们在我的js数组中作为两个不同的值[“one”,“two”]

<?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_阵列);

可能的副本我会检查一下,谢谢。谢谢你的回答和解释:)很高兴能帮忙,谢谢你的快速回复。祝你好运。不鼓励只使用代码的答案。你应该解释一下你做了什么,为什么这么做。否则答案将被删除。