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

时间:2018-11-01 13:11:45

标签: 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 < count($values); $x++) {
            echo $values[$x];
        } 
    ?>'); 

alert(Js_array);
</script>

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

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

您应该在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>

答案 1 :(得分:0)

<tr>English<input type="checkbox" name='langue' value='anglais'/>French<input type="checkbox" name='langue' value='francais'/></td><tr>
<tr><td>Country:</td></tr>
   <select id='pays'>
   <option value='france'>France</option>
   <option value='angleterre'>England</option>
   </select></td></tr>
<tr><td>avis</td><td><input type='textarea' id='avis' cols='25' rows='15'>
</textarea></td></tr>