PHP数组重复:每个字符串键都有数字键
Posted
技术标签:
【中文标题】PHP数组重复:每个字符串键都有数字键【英文标题】:PHP Array duplicates: every string key has numeric key 【发布时间】:2017-07-28 22:14:52 【问题描述】:我正在尝试从 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);
感谢您知道如何解决这个问题。
【问题讨论】:
尝试var_dump
行,看看里面有什么
【参考方案1】:
您需要以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
【讨论】:
【参考方案2】:尝试替换此行,
foreach ($pdoConnection->query($sqlStatement, PDO::FETCH_ASSOC) as $row)
该标志用于获取关联记录。
【讨论】:
以上是关于PHP数组重复:每个字符串键都有数字键的主要内容,如果未能解决你的问题,请参考以下文章