使用PHP输出的Javascript数组时出现未定义错误

使用PHP输出的Javascript数组时出现未定义错误,javascript,php,Javascript,Php,为什么Chrome控制台仍然给我一个未捕获的类型错误:无法读取未定义的属性“Users”,但脚本工作正常 我使用PHP将值生成到与页面内联的javascript数组中: <script type="text/javascript"> dbArray = [ <?php if (!$connect) { die('Could not connect: ' . mysql_error()); } mysql_select_db("myMysqlTable", $connect)

为什么Chrome控制台仍然给我一个未捕获的类型错误:无法读取未定义的属性“Users”,但脚本工作正常

我使用PHP将值生成到与页面内联的javascript数组中:

<script type="text/javascript">

dbArray = [

<?php
if (!$connect) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("myMysqlTable", $connect);
$result = mysql_query("SELECT * FROM nhoods");
while($row = mysql_fetch_array($result)) : 
?>
{ "Name":"<?php echo $row['Name'] ?>", "Users":<?php echo $row['Users'] ?> },
<?php endwhile; mysql_close($connect); ?>

];

</script>
在单独的.js文件中,我有以下示例:

function someFunction(index) { 
    var usersfound = dbArray[index]['Users'];
        console.log(usersfound);
};

someFunction(2);
用户返回的结果非常好,这是可行的,但仍然会抛出错误


我理解php加载服务器端,但为什么我的javascript文件似乎与内联页面javascript不在同一领域。

找到原因,发生错误是因为php行输出不完整,因此我的脚本在试图从列表中提取不存在的内容时会出错。脚本现在签出。我可能会在引用周围放置一个条件,以确保该值首先存在

即:


检查脚本标记的顺序。
function someFunction(index) { 
    var usersfound = dbArray[index]['Users'];
        console.log(usersfound);
};

someFunction(2);
    var users
    if (dbArray[index]['Users']) {
       users = dbArray[index]['Users'];
    }