转换PDO :: FETCH_ASSOC数组索引数组

转换PDO :: FETCH_ASSOC数组索引数组

问题描述:

我有下面的代码转换PDO :: FETCH_ASSOC数组索引数组

$stmt = $pdo->query("SELECT Name,office FROM `table`"); 
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC); 
print_r($rows); 

打印出以下

Array (
    [0] => Array (
     [Name] => Suki Burks 
     [office] => London 
    ) 
    [1] => Array (
     [Name] => Thor Walton 
     [office] => New York 
    ) 
) 

而且我想数字索引数组,这样

Array (
    [0] => Array (
     [0] => Suki Burks 
     [1] => London 
    ) 
    [1] => Array (
     [0] => Thor Walton 
     [1] => New York 
    ) 
) 

我试图为此找到一个PDO常量以便我可以像这样使用它

$stmt->fetchALL(PDO::FETCH_INEDXED) 

但我认为在PDO中没有内置的方法来实现这一目标,但实现这一目标的好方法是什么?

由于

+4

中可以清楚地陈述的[**手册**](http://php.net/manual/en/pdostatement.fetchall.php) ,您可以使用'PDO :: FETCH_BOTH'来获取关联和数字,或者只使用'PDO :: FETCH_NUM'来获取数字。完整列表可在['PDOStatement :: fetch()'](http://php.net/manual/en/pdostatement.fetch.php)中获得,如链接的第一个文档中所述。 – Qirel

+0

为什么不作为答案发布@Qirel? – Marwelln

+0

为什么不呢,@Marwelln :-) – Qirel

关于第一个参数,fetch_stylefetchAll()状态手动,如下(重点煤矿)

控制返回的数组作为记录在PDOStatement::fetch()的内容。默认为PDO::ATTR_DEFAULT_FETCH_MODE值(默认为PDO::FETCH_BOTH

这意味着对于可用于不同取的样式常量的完整列表,你应该看看的fetch()文档。这表明,对于数字索引数组,你应该使用PDO::FETCH_NUM,被描述为..

PDO::FETCH_NUM:在你的结果集中返回返回由列号索引的数组,起始于列0

最终结果如下所示,所有这些变化都是作为参数fetchAll()提供的常量。

$stmt = $pdo->query("SELECT name,office FROM `table`"); // Singlequotes are for values, backticks for table/column-names 
$rows = $stmt->fetchAll(PDO::FETCH_NUM); 
print_r($rows); 
+0

我还是找不到FETCH_NUM,你在哪找到它的? http://php.net/manual/en/pdostatement.fetchall.php – beginner

+0

[请参阅此评论](https://*.com/questions/46379978/convert-pdofetch-assoc-array-into-indexed-数组#评论79718470_46379978),我留下了这个问题。 –

+0

我在答案中也写了它,但你会在'fetch()'文档中找到常量列表,并在答案中链接。它们对于两种提取方法都是一样的。 – Qirel