如何从json输出中删除数组索引

时间:2017-05-06 17:48:48

标签: php json

我在php中有以下web服务

<?php    
if(isset($_GET['user']))
    $idActeur = ($_GET['user']);
$pdo = PdoGsb::getPdoGsb();
$tabVisites = $pdo->getLesVisites($idActeur);
echo json_encode(array('visite'=>$tabVisites));    
?>

此webservice返回此格式的json

[{"id":"5","0":"5","dateVisite":"2015-12-31","1":"2015-12-31","estVisiteProgramme":"1","2":"1","heureArriveeCabinet":"23h58","3":"23h58","heureDebutEntretien":"23h59","4":"23h59","heureDepartCabinet":"23h59","5":"23h59","idMedecin":"3","6":"3","idActeur":"a17","7":"a17"},

当执行在json中输出的变量的var_dump时,我得到了这个

array (size=6)
  0 => 
    array (size=16)
      'id' => string '5' (length=1)
      0 => string '5' (length=1)
      'dateVisite' => string '2015-12-31' (length=10)
      1 => string '2015-12-31' (length=10)
      'estVisiteProgramme' => string '1' (length=1)
      2 => string '1' (length=1)
      'heureArriveeCabinet' => string '23h58' (length=5)
      3 => string '23h58' (length=5)
      'heureDebutEntretien' => string '23h59' (length=5)
      4 => string '23h59' (length=5)
      'heureDepartCabinet' => string '23h59' (length=5)
      5 => string '23h59' (length=5)
      'idMedecin' => string '3' (length=1)
      6 => string '3' (length=1)
      'idActeur' => string 'a17' (length=3)
      7 => string 'a17' (length=3)

我应该如何修改我的web服务,以便输出的json不包含数组索引?

目标是让json看起来像这样:

[{"id":"5",
"dateVisite":"2015-12-31",
"estVisiteProgramme":"1 }]

以下是从数据库中获取结果的方法:

public function getLesVisites($idActeur)
    {
        // Création requête
        $req = "SELECT * FROM visite WHERE visite.idActeur = '$idActeur'";
        // Exécution de la requête
        $res = PdoGsb::$monPdo->query($req);
        // Stockage de la requête dans la variable $lesVisites
        $lesVisites = $res->fetchAll();
        // Retourne les visites
        return $lesVisites;
    }

1 个答案:

答案 0 :(得分:2)

PDO::FETCH_MODE设置为PDO::FETCH_ASSOC。默认值为PDO::FETCH_BOTH,这就是您所获得的。您可以在建立数据库连接后立即调用$pdo->setAttrValue()更改获取模式(我假设在您的PdoGsb类中),或者您可以在调用fetch()时提供获取模式作为参数或者fetchAll()关于PDO结果,例如$result->fetchAll(PDO::FETCH_ASSOC)