Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP从Postgres正确读取数据类型_Php_String_Postgresql_Types_Integer - Fatal编程技术网

用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

如何用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 = (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";
?>