javascript - 用 php 变量填充一个 javascript 数组

标签 javascript php arrays

我想用我的 php 变量 $jaar 填充一个 javascript 数组。但是当我在 js 文件中打印它时,我没有得到正确的输出。

php文件

<?php
$jaar = "[";
$result = mysql_query("SELECT jaar FROM agenda");
    while( $row=mysql_fetch_array($result, MYSQL_NUM) ) {
        $jaar .= "\"" . $row[0] . "\""; 
        $jaar .= ",";
    }
$jaar{ strlen($jaar)-1 } = ']';

echo "<script type='text/javascript'>var db_jaar = '" . $jaar ."'</script>";

?>
<script src="js/calender.js"></script>

js文件

//Get the variable from the php file
alert(db_jaar);
//printed: ["2018","2018"]

//When I make the variable local
var db_jaar = ["2018","2018"];
alert(db_jaar);
//printed: 2018,2018 <-- This is what I want

最佳答案

需要进行一些更改:

while( $row=mysql_fetch_array($result, MYSQL_NUM) ) {
    // create $jaar[]
    $jaar[] = $row[0];
}
// echo using json_encode
?><script type='text/javascript'>var db_jaar = <?php echo json_encode($jaar); ?>;</script>";<?php

阅读更多:

关于javascript - 用 php 变量填充一个 javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48543316/

相关文章:

javascript - 在 jquery 中传递事件对象

javascript - 如何使用图片作为提交按钮触发php函数

php - 从 Array Multi 访问数据

ios - 快速提取和管理数组元素

php - JavaScript 中的链接?

javascript - 将 Angular 服务与 NodeJS 模块相结合

使用 apachelounge VC14 构建和 php.net VC11 构建时,php dll 无法加载到服务器中

javascript - websockets 是用于为客户端更新进度条的正确技术吗?如何实现它?

c++ - 如何在第一次使用之前将静态数组保留在内存之外

PHP 遍历 stdClass 对象数组