• PHP 中的integer 类型


    integer 类型 就是 集合Z = {..., -2, -1, 0, 1, 2, ...}中的一个数字。

    integer 可以已10进制,8进制,16进制表示。

    用八进制表示的时候,数字需要已0(零)开头;

    用十六进制表示的时候,数字需要已0x(零x)或者0X(零大写X)开头;

    integer 溢出: integer溢出的时候,会自动的转化为float类型。同样的,如果integer类型的操作结果溢出了integer类型的边界,也会自动转化为float类型。

    需要注意的一点就是,integer类型没有"/" (除法)操作,如果需要获得一个整型可以使用round等函数,或者直接使用(int)或(integer)进行强制类型转化为integer也行.

    转换为integer:

    boolean 转化为integer:

    1、true 总是转换为 1;

    2、false总是转换为 0;

    float转化为integer:
    1、如果float类型值没有超过integer的边界值,那么转换的时候会直接将小数部分直接截掉。

    2、如果float类型值超过了integer的边界值,那么转换的结果是没定义的,但几乎肯定不是预期的结果

    array类型转换为integer:

    1、空array总是转化为0;

    2、非空array总是转化为1;

    object转换为integer:

    1、把object类型的值转换为integer 会产生类似 Object of class stdClass could not be converted to int 的Notice 信息。转换的结果为1;

    string转化为integer:

    1、如果string以数字开头并且,其中不包含字符‘.’,'e','E',并且数字的值在integer范围之内,string将转化为integer。

    1 $resource = fopen('d:/tmp/test.txt', 'rb');
    2 var_dump($resource, (int)$resource);

    2、如果string为空字符串,或者没有已数字开头,string可以转化为integer 0;

    3、其他情况下 string将会转化为float类型;

    resources转换为integer:

    1、将resources类型的值转换为integer,会将resource对应的id

    例如:

    的结果

    resource(3) of type (stream) int(3)

    null转换为integer:

    1、null转换为integer总是0

    未定义的变量转化为integer:

    1、未定义的变量转换为integer会产生一个notice信息,并转换为0

  • 相关阅读:
    Linux系统下搭建Gitlab服务器
    Sqlserver数据库表转换成C#实体类
    C# 获取今天,昨天,上周,下周,上月,下月等等一些日期格式【转】
    Funthing
    网页生成海报
    NET 5.0 Swagger API 自动生成MarkDown文档
    说说C# 8.0 新增功能Index和Range的^0是什么?
    tblive-studio vs2019 编译过程记录
    确定已安装的 .NET Framework 版本
    修改CMD默认编码
  • 原文地址:https://www.cnblogs.com/ainiaa/p/1785402.html
Copyright © 2020-2023  润新知