1

我有这个 PHP,它从数据库中获取地址列的所有行,我使用json_encode()函数将其转换为字符串和JSON.parsejavascript,但我没有按预期获得输出

 <? 

 include('dbcon.php');
 $result = mysql_query("SELECT address FROM markers");

 while ($row = mysql_fetch_assoc($result)) {
 $new_array[] = $row; 
 }
 print_r($new_array);

 $add_js = json_encode( $new_array );

 print_r($add_js);
 ?>

我得到print_r($new_array); 二维数组并进入null第零个位置。我所做的任何更改都会在第零个位置继续给出 null 。

   var address = [JSON.parse( '<?php echo $add_js ?>' )];

var address应该存储地址数组,但是当我在数组中发出警报时它会给出输出。

[object Object],[object Object],[object Object],[object Object],[object Object]

我想在从数据库中获取地址后存储地址数组

4

2 回答 2

2

$new_array关联数组的数组也是如此,它在 JavaScript 中被解码为对象数组。如果您想要一个字符串数组,那么您需要将字符串存储在$new_array

$new_array = array();
while ($row = mysql_fetch_assoc($result)) {
   $new_array[] = $row['address'];   // <-- This line
}

print_r($new_array);

$add_js = json_encode( $new_array );

print_r($add_js);
于 2013-10-26T12:40:34.940 回答
1

我认为这足以满足您的需求:

var address = <?php echo $add_js ?>
于 2013-10-26T12:41:48.470 回答