用php变量填充javascript数组

用php变量填充javascript数组,javascript,php,arrays,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 .

我想用我的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>
//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
while($row=mysql\u fetch\u数组($result,mysql\u NUM)){
//创建$jaar[]
$jaar[]=$row[0];
}
//使用json_编码的echo

?>var db_jaar=;“尝试使用json_encode和json_decode。并使用ajax请求。这是一个字符串而不是数组。您正在将其附加到一个字符串,您认为这是在使var db_jaar=”mysql
PHP扩展失效--停止使用。它们很旧,从PHP5.5开始就被弃用,在PHP7中被完全删除。请使用或。阅读以下内容的答案:了解更多关于原因和方式的信息。