将PHP数组发送到Javascript

t4t*_*ina 6 javascript php

嗨,我已经用PHP创建了一个数组.我需要将该数组转换为javascript函数.这就是我尝试过的.

$GetTheValidationRule=mysqli_query($con,"SELECT * FROM Questions WHERE Form_ID='$FormID' AND QuestionsDataHave='YES' ORDER BY Questions_ID+0, Questions_ID");
$ValidatinArray=array();
$J=0;
while($RowVal=mysqli_fetch_array($GetTheValidationRule)){
    $ValidatinArray[$J]= $RowVal['Validation_Type'];
    $J++;
}
Run Code Online (Sandbox Code Playgroud)

这是我的javascript代码.

$(document).ready(function() {
    $("form").submit(function(){
    var P= <?php echo json_encode($ValidatinArray); ?>;
        var O=P.length;
        alert(O);
        return false;
    });
}); 
Run Code Online (Sandbox Code Playgroud)

但这给了我这样的错误

 SyntaxError: syntax error
 var P= <br />
Run Code Online (Sandbox Code Playgroud)

是不是以这种方式获得阵列.请有人帮助我.

更新:这是我的错误消息的最终输出

    <script>
$(document).ready(function() {
$("form").submit(function(){
alert('AAAAAAAAAAAAAAAAAAA');
var IDsOfTheColumns=document.getElementsByName("DataColumnID[]");
var Data=document.getElementsByName("DataInputValue[]");
var A=IDsOfTheColumns.length;
alert(A);
 <br />
    <b>Notice</b>:  Undefined variable: ValidatinArray in <b>C:\xampp\htdocs\PHIS\CreateTheForm.php</b> on line <b>16</b><br />
      var P = null; return false;

});
}); 


    </script>
Run Code Online (Sandbox Code Playgroud)

joH*_*oHN -1

在 php json_encode 中,数组如下所示:

$inlinejs='';
$inlinejs.='var validatinArray=\''.addslashes(json_encode($ValidatinArray)).'\';'."\n";
$inlinejs.='var validatinArray=eval(\'(\' + validatinArray + \')\');'."\n";
Run Code Online (Sandbox Code Playgroud)

在 JavaScript 中:

$(document).ready(function() {
    $("form").submit(function(){
    <?php echo $inlinejs; ?>
    console.log(validatinArray);
    });
}); 
Run Code Online (Sandbox Code Playgroud)