使用 json_encode 将数组从 PHP 传递到 JavaScript 会显示空值

Passing array from PHP to JavaScript using json_encode shows empty values

本文关键字:JavaScript 空值 显示 PHP json encode 数组 使用      更新时间:2023-09-26

我使用以下代码将数组从PHP发送到JavaScript,但它似乎无法使用json_encode()。这是我的代码:

在 PHP 中:

$arr = array();
while($row = mysql_fetch_assoc($result)) {
    $arr[] = $row; 
}

在 JavaScript 中:

var test = "<?php echo json_encode($arr); ?>";
alert (test);

var_dump() 的结果:

array
  0 => 
    array
      'proj_nbr' => string '0111' (length=4)
      'proj_name' => string 'General' (length=7)
  1 => 
    array
      'proj_nbr' => string '' (length=0)
      'proj_name' => string 'New Project' (length=11)

它只显示空白值。我的PHP版本是5.3.6。

我想通了。我这里的错误是javascript中的双引号var test = "<?php echo json_encode($arr); ?>";

应该是 var test = <?php echo json_encode($arr); ?>;

还把mysql_fetch_assoc改成了mysql_fetch_row

但数据不是数组格式。我(0111,General,)获得了这种格式的数据.我需要数组格式的数据。有什么建议吗?