通过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_preparepg_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

回到顶部