0

我有这段代码:

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"}
4

1 回答 1

2

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

  while ($Rs = mysql_fetch_array($Query)) {
    $marcas[ $Rs['Marca_Id'] ] = $Rs['Marca_Nome']; 
 }
于 2012-04-22T16:24:59.037 回答