用PHP从Postgres正确读取数据类型
如何用PHP编译Postgres中的整数数据? 我的整数是字符串,如用PHP从Postgres正确读取数据类型,php,string,postgresql,types,integer,Php,String,Postgresql,Types,Integer,如何用PHP编译Postgres中的整数数据? 我的整数是字符串,如var\u dump($\u SESSION) 我通过以下代码编译这些值,这显然是pg_prepare和pg_execute之后问题的根源 while ( $row = pg_fetch_array( $result ) ) { $user_id = $row['user_id']; } 可以使用以下命令将字符串转换为整数: 或通过类型强制: $str = "5"; $num = (in
var\u dump($\u SESSION)
我通过以下代码编译这些值,这显然是pg_prepare
和pg_execute
之后问题的根源
while ( $row = pg_fetch_array( $result ) ) {
$user_id = $row['user_id'];
}
可以使用以下命令将字符串转换为整数: 或通过类型强制:
$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";
?>
进一步阅读:
PHP数据库扩展通常将所有数据类型返回为字符串,因为有些SQL数据类型无法在PHP本机数据类型中表示 示例:PostgreSQL
BIGINT
(8字节整数数据类型)将溢出int
PHP类型(除非PHP使用64位支持编译),并被转换为float
,这可能会失去准确性
$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";
?>