2012-04-22 80 views
0

我有這樣一段代碼:JSON輸出陣列的PHP

Tipo_Id = mysql_real_escape_string($_REQUEST["tipo"]); 

     $Sql = "SELECT DISTINCT(tabveiculos.Marca_Id), tabmarcas.Marca_Nome 
       FROM tabmarcas, tabveiculos 
       WHERE tabmarcas.Tipo_Id = '$Tipo_Id' 
       AND tabmarcas.Marca_Id = tabveiculos.Marca_Id 
       ORDER BY tabmarcas.Marca_Nome Asc"; 
     $Query = mysql_query($Sql,$Conn) or die(mysql_error($Conn)); 
     $marcas = array(); 
     while ($Rs = mysql_fetch_array($Query)) { 
     $marcas[] = array(
     $Rs['Marca_Id'] => 
     $Rs['Marca_Nome'] 
     ); 

     } 

     echo (json_encode($marcas)); 

此返回這樣的結果:

[{"2":"Chevrolet"},{"7":"Citro"},{"4":"Fiat"},{"3":"Ford"},{"6":"Peugeot"},{"1":"Volkswagen"}] 

所以如何我可以改變到返回這樣的:

{"2":"Chevrolet","7":"Citro","4":"Fiat","3":"Ford","6":"Peugeot","1":"Volkswagen"} 

回答

2

您目前正在爲每個鍵值對創建一個新的數組,因此最終得到一個多維數組。改爲執行以下操作。

while ($Rs = mysql_fetch_array($Query)) { 
    $marcas[ $Rs['Marca_Id'] ] = $Rs['Marca_Nome']; 
}