使用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.

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?