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