将php数组存储在javascript数组中

时间:2017-12-17 12:41:37

标签: javascript php arrays

我正在尝试使用php从我的数据库中检索一些数据,将其存储在javascript数组中,然后使用它更改一些DOM元素。我设法检索数据但现在我似乎无法弄清楚如何将这些数据存储在javascript数组中。 以下是我正在使用的代码:

我的php变量var_dump($result)给了我:

  

array(1){[0] => array(12){[“id”] => string(1)“9”[“name”] => string(7)“Renessa”[“employee_full_name”] => string(16)“Renessa Tabassum”[“username”] => string(11)“emp-renessa”[“password”] => string(6)“123456”[“email”] => string(17)“renessa@gmail.com”[“phone”] => string(11)“01911566321”[“salary”] => string(5)“15000”[“type”] => string(6)“Driver”[“gender”] => string(6)“Female”[“join_date”] => string(10)“2017-12-16”[“rating”] => string(1)“0”}}

现在我想将它存储在一个javascript数组中,所以我做了以下内容:

<script type="text/javascript">

        var searchQuery = new Array();
        <?php foreach($result as $value){ ?>
                searchQuery.push('<?=$value;?>');
        <?php } ?>
        alert(searchQuery);

</script>

但没有任何反应。我检查了浏览器的控制台选项卡,但是它显示了

  

未捕获的SyntaxError:无效或意外的令牌

在第34行,但该行字面上什么也没有。

我该怎么做?提前致谢! :)

2 个答案:

答案 0 :(得分:0)

PHP代码和JS代码在不同的时间运行,服务器完成后是php循环,然后将结果传输到浏览器,然后运行js代码。

您必须使用json_encode function将php数组解析为json,并将结果回显到页面,如下所示:

<script type='text/javascript'>
<?php
    $js_array = json_encode($result);
    echo "var searchQuery = ". $js_array . ";";
?>
</script>

答案 1 :(得分:-1)

您的所有数据都在数组内的数组中。因此,如果您只需要单个数据将外部数组的第一个索引分配给变量,那么应用您的逻辑

<script type="text/javascript">

        var searchQuery = new Array();
        <?php 
            $data = isset($result[0])?$result[0]:array();
           foreach($data as $value){ ?>
                searchQuery.push('<?=$value;?>');
        <?php } ?>
        alert(searchQuery);