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

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

问题描述:

I'm using the following code to send an array from PHP to JavaScript, but it doesn't seem to work using json_encode(). Here's my code:

In PHP:

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

In JavaScript:

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

Result of 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)

It displays just blank values. My PHP version is 5.3.6.

我使用以下代码将数组从PHP发送到JavaScript,但它似乎不起作用 使用 json_encode() code>。 这是我的代码: p>

在PHP中: p>

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

在JavaScript中: p>

  var test =“&lt;?php echo json_encode($ arr  );?&gt;“; 
alert(test); 
  code>  pre> 
 
 

var_dump()的结果: p>

   array 
 0 =&gt;  
 array 
'proj_nbr'=&gt; 字符串'0111'(长度= 4)
'proj_name'=&gt; 字符串'General'(长度= 7)
 1 =&gt;  
 array 
'proj_nbr'=&gt;  string''(length = 0)
'proj_name'=&gt; 字符串'New Project'(长度= 11)
  code>  pre> 
 
 

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

I figured this out.. My mistake here was the double quotes in javascript var test = "<?php echo json_encode($arr); ?>";

should be var test = <?php echo json_encode($arr); ?>;

also changed mysql_fetch_assoc to mysql_fetch_row.

But the data is not in array format. I got data in this format (0111,General,). I need data in array format. Any suggestions?