从 Javascript 传递 PHP 数组

Pass PHP array from Javascript

我想从 JavaScript 传递一个 PHP 数组。

PHP数据Table

---------------------------
| adminID |  adminEmail   |
===========================
|    1    | abc@gmail.com |
|    2    | xyz@ymail.com |
===========================

Javascript

<script>
    function checkuser_callback_function($el, value, callback) {
    var $array = new Array("xyz@gmail.com","abc@ymail.com");
    var valid = false;
    if($array.indexOf(value) == -1){
        valid = true;
    }
    callback({
        value: value,
        valid: valid,
        message: "User present."
    });
}
</script>

我想在此处传递 adminEmail var $array = new Array("..","..");

我在 php 中尝试了很多,但我没有得到任何结果。

<?php
    include 'config.php';
    $sql ="SELECT adminEmail FROM BEadmin";
    $result = mysqli_query($con,$sql);

    while($row = mysqli_fetch_assoc($result)) {
        $array = $row;
        $str = "'" . implode ( "', '" ,$array ) . "'";
        $parts = split("'", $str);
        print_r($str);
    }
?>

您可以使用 php 创建 javascript 数组。然后稍后在脚本中使用相同的内容。请注意,为了区分,我调用了 javascript 数组 jArray 而不是 $array。休息仅在脚本中进行了解释。希望这有帮助..

        <?php
        include 'config.php';
        $sql ="SELECT adminEmail FROM BEadmin";
        $result = mysqli_query($con,$sql);

        //start script tag
        echo "<script>\n";
        // javascript array decalaration beginning
        echo "var jArray = new Array(";

        $arrStr = "";
        while($row = mysqli_fetch_assoc($result)) {
        //                $array = $row;
        //                $str = "'" . implode ( "', '" ,$array ) . "'";
        //                $parts = split("'", $str);
        //                print_r($str);
            $arrStr .= '"'. $row["adminEmail"] . '",';
        }

        // drop the last , from the string
        $arrStr = substr($arrStr,0,-1);
        // now populate javascript array with this string
        echo $arrStr;

        // end javascript array
        echo ");\n";
        echo "</script>\n";
    ?>  
<?php

    include 'ePHP/config.php';
    $sql ="SELECT adminEmail FROM BEadmin";
    $result = mysqli_query($con,$sql);



    $arrStr = "";
    while($row = mysqli_fetch_assoc($result)) {
    //                $array = $row;
    //                $str = "'" . implode ( "', '" ,$array ) . "'";
    //                $parts = split("'", $str);
    //                print_r($str);
        $arrStr .= '"'. $row["adminEmail"] . '",';
    }

    // drop the last , from the string
    $arrStr = substr($arrStr,0,-1);
    // now populate javascript array with this string


?>
<script>
    function checkuser_callback_function($el, value, callback) {
    var $array = Array(<?php echo $arrStr; ?>);
    var valid = false;
    if($array.indexOf(value) == -1){
        valid = true;
    }
    callback({
        value: value,
        valid: valid,
        message: "User present."
    });
}
</script>