首页 > 解决方案 > PHP / JS - 将值从 php 发送到 js 数组

问题描述

我有一个 php 数组“$values”,我想将它的值传输到一个运行良好的 js 数组,我得到的唯一问题是它使发送的 2 个值作为“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>

谢谢你的帮助。

标签: javascriptphp

解决方案


您当前正在将 php 数组的所有项目回显到Js_array.push()函数的一个实例中,因此Js_array.push将 php 数组的所有项目作为 1 个项目添加到 javascript 数组中。

相反,您应该调用Js_array.push()php 数组的每个项目,因此每个项目都可以单独添加到 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>

推荐阅读