通过PHP从Postgres正确读取数据类型
如何在PHP中通过Postgres编译整数数据?通过PHP从Postgres正确读取数据类型
我的整数的字符串作为以下节目由var_dump ($_SESSION)
'logged_in' => int 1 'user_id' => string '9' (length=1) // should be int
'a_moderator' => string '0' (length=1) // should be int
我用下面的代码,这显然是问题的pg_prepare
和pg_execute
后的源代码编译的值。
while ($row = pg_fetch_array($result)) { $user_id = $row['user_id'];
}
回答:
可以使用intval将字符串转换为整数:
$str = "5"; $num = intval($str);
或强制类型转换:
$str = "5"; $num = (int) $str;
//this works too
$num = (integer) $str;
一些测试代码:
<?php $str = "10";
$num = intval($str);
//$num = (int)$str;
if ($str === 10) echo "String";
if ($num === 10) echo "Integer";
?>
延伸阅读:
Type Jugging
回答:
这是普通的PHP数据库扩展到返回所有的数据类型为字符串,因为某些SQL数据类型不能在PHP原生数据类型来表示。
实施例:在PostgreSQL BIGINT
(8字节整数数据类型)将溢出int
PHP类型(PHP除非与64位的支持编),并且被铸造成float
,其可能会失去正确性。
以上是 通过PHP从Postgres正确读取数据类型 的全部内容, 来源链接: utcz.com/qa/259175.html