JSON 输出数组 PHP


json output array 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"}

您当前正在为每个键值对创建一个新数组,因此,最终得到一个多维数组。请改为执行以下操作。

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