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数组重复:每个字符串键都有数字键的主要内容,如果未能解决你的问题,请参考以下文章

键盘各个功能键都有啥作用?

将 JSON 字符串转换为 NSDictionary 时,并非所有键都有效

使用Guid做主键和Int 做主键都有哪些好处

javascript用键数组替换数字数组[重复]

Scala将Map序列减少为每个键都有最大值的Map

键盘上的每个键都各有啥作用?