为什么json_encode()返回两次键值(索引键和字符串键)?

Ant*_*ony 3 php indexing json key

当我使用json_encode()函数时,该方法返回一个Json两次相同的值:一个用字符串键,一个用索引.我以前没有这个问题.

$req = $bdd->prepare("SELECT mail,description FROM identifiant WHERE mail = :mail AND pass=:pass");
        if ($req->execute(array(
                    'mail' => $_COOKIE['mail'],
                    'pass' => $_COOKIE['pass']))) {
            header('Content-type: application/json');

            return json_encode($req->fetchAll());
Run Code Online (Sandbox Code Playgroud)

响应:

[
   {
      "mail": "root@root.com",
      "0": "root@root.com",
      "description": "a description",
      "1": "a description"
   }
]
Run Code Online (Sandbox Code Playgroud)

我怎么办没有索引键?

Mar*_*rek 9

使用PDO :: FETCH_ASSOC获取模式:

return json_encode($req->fetchAll(PDO::FETCH_ASSOC));
Run Code Online (Sandbox Code Playgroud)