我正在尝试使用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行,但该行字面上什么也没有。
我该怎么做?提前致谢! :)
答案 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);