PHP json 对象具有与数字键和关联键重复的值

PHP json object has duplicate values with numeric and associative keys

我的 php 函数 returns 以下 json 对象:

{"user_id":"1",
  "0":"1",

  "token":null,
  "1":null,

  "username":"bgarrett0",
  "2":"bgarrett0"}

它添加了数字 key/values 和联想 key/values。我只想要 associative/values。 $sql 是准备好的查询字符串,args 是 $sql 的适当值的数组。

$this->pdo (mysql db) is has attributes [PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION;PDO::ATTR_EMULATE_PREPARES, false;]

   public function query($sql, $args)
   {
    try {
        $stmt = $this->pdo->prepare($sql);
        $stmt->execute($args);
        $stmt = $stmt->fetchAll();
        return json_encode($stmt);
    } catch(Exception $e) {
        $this -> error_status = $e->getMessage();
    }
  }

如果您只需要关联索引,则只需使用标志 PDO::FETCH_ASSOC

$data = $stmt->fetchAll(PDO::FETCH_ASSOC);
return json_encode($data);