Script type=“text/javascript”变量未捕获PHP回显的JSON

Script type=“text/javascript”变量未捕获PHP回显的JSON,javascript,php,mysql,json,Javascript,Php,Mysql,Json,我正在开发一个PHP web应用程序,它从MYSQL数据库中检索大量数据,然后使用PHPs json_encode将关联数组转换为json <script type="text/javascript"> var json = <?php // get loads of data from MYSQL database, store in $array echo(json_encode($array)); ?>; </script>

我正在开发一个PHP web应用程序,它从MYSQL数据库中检索大量数据,然后使用PHPs json_encode将关联数组转换为json

<script type="text/javascript">
    var json = <?php
    // get loads of data from MYSQL database, store in $array
    echo(json_encode($array));
    ?>;
</script>

这在以前似乎可以正常工作,但现在在chrome中按F12并检查控制台时,JavaScript会抛出一个错误,因为它无法识别中的开头。如果您使用:

回声你好

我假设在脚本标记中设置一个类型会使它只对标记中的一种语言进行求值,而不使用类型会使它保持多语言脚本标记

资料来源:

因此,使用

<script>
var json = <?php
echo($var);
?>;
</script>

将在PHP服务器端对这两种语言进行求值,但在脚本标记中设置类型或语言将阻止对标记中的其他语言/类型进行求值。

如果字符串JavaScript对PHP一无所知。如果您的PHP标记没有被处理,那么服务器端就会出现问题。它是一个.html文档还是一个.PHP文件?它肯定是一个PHP文件-PHP没有错误-当我不小心尝试使用$array=[]时,它显示了一个错误;要声明数组而不是$array=array;-我修复了它,但它仍然不起作用。您是否尝试查看页面源代码?而不是F12来查看实际渲染的内容。
<script>
var json = <?php
echo($var);
?>;
</script>