Php 带有json_的PDO将返回数据编码为数组

Php 带有json_的PDO将返回数据编码为数组,php,pdo,Php,Pdo,我在尝试将数据作为二维数组而不是单个数组中的对象返回时遇到了问题 我按如下方式获取查询结果: if($stmt->rowCount()){ echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC)); exit; } [ {"id":"1","name":"Test"},{"id":"2","name":"Test 2"} ] 我从json_编码中获得的数据如下: if

我在尝试将数据作为二维数组而不是单个数组中的对象返回时遇到了问题

我按如下方式获取查询结果:

    if($stmt->rowCount()){
        echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC)); exit;  
    }
   [
      {"id":"1","name":"Test"},{"id":"2","name":"Test 2"}
   ]
我从json_编码中获得的数据如下:

    if($stmt->rowCount()){
        echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC)); exit;  
    }
   [
      {"id":"1","name":"Test"},{"id":"2","name":"Test 2"}
   ]
我如何获取以这种格式返回的数据:

[0] 
  [0] = "1";
  [1] = "Test";
[1]
  [0] = "2";
  [1] = "Test 2";

PDO在获取结果时是否提供这种格式?

更改
echo json_encode($stmt->fetchAll(PDO::FETCH_ASSOC))
to
echo json_encode($stmt->fetchAll(PDO::FETCH_NUM))


FWIW,我建议不要直接返回数据库数据,因为这通常会使服务API过于脆弱。@user2864740是否愿意详细说明您所说的脆弱?Dave它在应用程序的各个层之间没有提供隔离。对数据库架构的更改会直接影响返回值。通过在适当的边界(例如Web API)定义清晰的接口(与模式分离),可以减轻/隔离更改,整个解决方案“不那么脆弱”。我甚至不知道这意味着什么:P