排除PDO :: fetchAll()的编号索引元素

时间:2016-06-22 13:06:31

标签: php json pdo

$allrows

我想通过执行以下操作将此 echo (json_encode($allrowl,JSON_PRETTY_PRINT)); 转换为JSON:

fetchAll

我的问题是,此 [ { "org_id": "1", "0": "1", "category": "A", "1": "A", }, { "org_id": "2", "0": "2", "category": "A", "1": "A", } ] 不仅会为每个元素提取数据关联数组,还会提取索引数组,因此重复元素。

{{1}}

谢谢。

2 个答案:

答案 0 :(得分:3)

这是因为默认提取模式为FETCH_BOTH。将您的模式重置为FETCH_ASSOC,您只能获得非数字键。

假设$pdoPDOStatement,请在获取之前将其设置为此。

   $pdo->setFetchMode(PDO::FETCH_ASSOC);

您也可以在fetch语句中设置它:

   $pdo->fetchAll(PDO::FETCH_ASSOC);

答案 1 :(得分:2)

使用PDO::FETCH_ASSOC仅获取关联的数组:

$allrows = $pdo->fetchAll(PDO::FETCH_ASSOC);