【发布时间】:2011-07-21 07:40:54
【问题描述】:
在 PHP 中从 MySQL 表中选择时,结果总是字符串。有没有办法获得正确的数据类型?
考虑一下我的桌子:
CREATE TABLE bar(
id INT,
price FLOAT,
name VARCHAR(40));
现在我要做的是:
$result = mysql_query("SELECT id,price,name FROM bar");
while($row = mysql_fetch_assoc($result))
{
$row['id'] = (int)$row['id'];
$row['price'] = (double)$row['price'];
}
mysql_free_result($result);
有没有办法透明地从查询中正确获取数据类型?
10 倍, 阿维夫p>
【问题讨论】:
-
你为什么需要这个? php 是一种动态类型化较弱的语言。这就是我们喜欢它的原因(是的,我们喜欢它;-)。不要试图改变它。如果您需要一些具有强大动态类型化的语言(这就是您想要获得的),您可以尝试 python。
-
我也喜欢 PHP,但有时,例如在这种情况下,我将它作为 JSON 返回,而在 JavaScript 中,我需要它作为排序机制的数字或字符串。
-
我不得不同意,PHP 中的弱类型确实比它的价值更麻烦,并且强制数据为特定类型可以解决弱类型的大多数问题可导致。看看我关于 switch 语句的问题,看看会出现什么问题。 stackoverflow.com/questions/4098104/…
标签: php mysql database variables types