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

Pau*_*zke 2 php arrays json pdo

我的php函数返回以下json对象:

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

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

  "username":"bgarrett0",
  "2":"bgarrett0"}
Run Code Online (Sandbox Code Playgroud)

它添加了数字键/值和关联键/值.我只想要关联/值.$ sql是一个准备好的查询字符串,args是$ sql的相应值的数组.

$ this-> pdo(mysql db)有属性[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();
    }
  }
Run Code Online (Sandbox Code Playgroud)

Kev*_*vin 7

PDO::FETCH_ASSOC如果您只想要关联索引,那么只需使用该标志:

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