PHP数组重复:每个字符串键都有数字键

时间:2017-03-08 11:12:08

标签: php arrays sql-server json pdo

我正在尝试从MS-SQL查询中获取一个包含utf-8值的数组。

几乎一切都运行正常,但结果数组看起来像这样:

Array (
 [id] => 1;
 [0] => 1; // this is redundant
 [countryName] => england;
 [1] => england; // this is redundant
)

我不想要重复的数字键。为什么他们甚至创造了?导致此结果的代码是:

# execute the query
foreach ($pdoConnection->query($sqlStatement) as $row) {
   // encode row in utf8 so json works and save row in array
   $output[] = array_map('utf8_encode', $row);
}

感谢您知道如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

您需要获取associative。请遵循以下示例:

$stmt = $this->db->prepare('SELECT title, FMarticle_id FROM articles WHERE domain_name =:domain_name');
$stmt->bindValue(':domain_name', $domain);
$stmt->execute();
$article_list = $stmt->fetchAll(PDO::FETCH_ASSOC);

参考:PDOStatement::fetchAll

答案 1 :(得分:0)

尝试替换此行,

foreach ($pdoConnection->query($sqlStatement, PDO::FETCH_ASSOC) as $row)

该标志用于获取关联记录。