2015-04-07 77 views
0

我有一個包含GPS座標的MySQL數據庫。 這是我的部分PHP代碼來檢索座標;php array(的數組)到javascript

$sql = "SELECT lat, lon FROM gps_data"; 
$stmt=$db->query($sql); 
$result=$stmt->fetchAll(); 

現在我需要將返回的PHP數組「轉換」爲JavaScript中數組的數組。我已經試過了;

var js_var = <?php echo json_encode($result); ?>; 

但它不期望的輸出

電流輸出:

var js_var = [{"lat":"61.883350","0":"61.883350","lon":"8.551115","1":"8.551115"},{"lat":"61.883380","0":"61.883350","lon":"8.551715","1":"8.551715"}]; 

所需的輸出:

var js_var = 
[[61.883350,8.551115],[61.883380,8.551715]]; 

如何實現這一目標?

+0

打印您陣列那麼只有我們會協助? –

回答

5

您可以使用.map,像這樣

var js_var = [{"lat":"61.883350","0":"61.883350","lon":"8.551115","1":"8.551115"},{"lat":"61.883380","0":"61.883350","lon":"8.551715","1":"8.551715"}]; 
 

 
var result = js_var.map(function (el) { 
 
    return [el.lat, el.lon]; 
 
}); 
 

 
console.log(result);

+0

工程很好。非常感謝你 !! –

0

嘗試

$sql = "SELECT lat, lon FROM gps_data"; 
$stmt=$db->query($sql); 
$result=$stmt->fetchAll(); 
$final=array(); 
foreach($result as $row) { 
    $final[]=array($row[0],$row[1]); 
} 

而且

var js_var = <?php echo json_encode($final); ?>; 
+0

但json_encode不會根據需要輸出。 – Deep

+0

現在它作爲OP的需要輸出,我已根據他的需要形成了新的陣列 –