【发布时间】:2016-09-08 08:22:14
【问题描述】:
我正在尝试从 MySQL 数据库中获取数据并使用 json_encode 回显输出。
$fetch_from_table = mysqli_query($con,"SELECT * FROM table");
while ($row = mysqli_fetch_assoc($fetch_from_table)) {
$company['id'] = $row['id'];
$company['name'] = $row['name'];
}
var_dump($company)
以上返回输出:
array(2) { ["id"]=> string(1) "8"
["name"]=> string(12) "company name" }
在数据库内部,id 是一个 int,而不是一个字符串。然而,输出是一个字符串。因此,json_encode 也将其格式化为字符串,这不是我想要的。
如何将 id 从字符串更改为 int?
【问题讨论】:
-
PHP 不知道它是一个整数,所以告诉它它是一个整数:
(int)$row['id'];- 这称为类型转换。 -
没有改变任何东西@Qirel
-
看看json_encode 的
JSON_NUMERIC_CHECK选项。 -
为了使@Qirel 的建议起作用,您还需要分配,即
$row['id'] = (int)$row['id'];