概述

  l  变量就是一个容器,变量本身并没有类型,变量的类型解决值的类型。

  l  PHP和JS都属于弱类型语言,变量在运行过程中,类型是可以变的。但是,Java不可以。

  l  标量(基本)数据类型:字符串型、整型、浮点型、布尔型

  l  复合数据类型:数组、对象

  l  特殊数据类型:资源、NULL

判断变量类型的函数

以下函数都返回布尔值,成功返回TRUE,失败返回FALSE

  l  is_bool(),判断变量是不是布尔型

  l  is_int(),判断变量是不是整型

  l  is_string() 判断变量是不是字符串型

  l  is_float() 判断变量是不是浮点型

  l  is_numeric() 判断变量不是数值型或数字字符串。

  l  is_array() 判断变量是不是数组

  l  is_null()  判断变量是否为NULL

  l  is_resource() 判断变量是不是资源型

注意:通过地址栏或表单向服务器传递的任何数据,都是字符串。变量只存在于内存当中,离开内存都是字符串。

整型

  l  整型包含正整数、负整数、零。

  l  可以用10进制、八进制、16进制表示。

  l  PHP中最大整数:PHP_INT_MAX,(2^31)-1

如果给出的整数超出了PHP_INT_MAX的范围,该怎么办?

如果两个整数运算的结果超出了PHP_INT_MAX的范围,该怎么办?

浮点型

l  浮点型,包括整数和小数,精度比整数更高。

l  浮点型的范围:1.8E-308~1.8E+308

在计算机底层,所有数据都要转成二进制,才能进行运算。但是有些浮点数无法精确转成二进制。

这种现象是二进制的缺陷造成的。

因此,我们不要对浮点数进行比较运算,最好的办法:就是将浮点转成整数,再进行运算。

字符串型

长字符串

布尔型

空型

资源型

数据类型转换

PHP开发——数据类型的更多相关文章

  1. Python开发——数据类型【列表】

    列表的定义 中括号[]内以逗号分隔开,按照索引,存放各种数据类型,每个位置代表一个元素 list_t = ['张三','Lucy',123] print(list_t) # ['张三', 'Lucy' ...

  2. Python开发——数据类型【字典】

    字典的定义 # Python语言中唯一的类型映射 # 键与值之间用“:”分开 # 项与项之间用“,”分开 person = {"name":"yuan",&qu ...

  3. Python开发——数据类型【数字】

    布尔型 bool型只有两个值:True 或 False 我们将bool值归类为数字,习惯上:1表示true,0表示false 整型 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2* ...

  4. Python开发——数据类型【字符串】

    字符串定义 字符串是一个有序的字符的集合,用于存储和表示基本的文本信息 在Python中加了引号的字符,都被认为是字符串! 单引号.双引号.多引号之间的区别? 答案:单双引号没有区别 多引号的作用? ...

  5. Python开发——数据类型【元祖】

    元祖的定义 tu = (11,22,33,44,) print(tu) # (11, 22, 33, 44) tu = tuple((11,22,33,44,)) print(tu) # (11, 2 ...

  6. Python开发——数据类型【集合】

    集合的定义 由一个或多个确定的元素所构成的整体 可变集合 s=set('hello') print(s) # {'e', 'l', 'o', 'h'} s=set(['alex','alex','Lu ...

  7. Python开发——数据类型【运算符】

    算数运算符 比较运算符 赋值运算符 逻辑运算符 成员运算符

  8. Python开发——数据类型【字符串格式化】

    字符串格式化之——% # 字符串格式化 msg = 'I am %s , My hobby is %s'%('yuan','play') print(msg) # I am yuan , My hob ...

  9. PHP开发——目录

    PHP开发基础 PHP开发——环境安装 PHP开发——基础 PHP开发——变量 PHP开发——超全局数组变量 PHP开发——常量 PHP开发——数据类型 PHP开发——进制转换 PHP开发——运算符 ...

随机推荐

  1. 光速搭lvs + keepalived + nginx

    环境:   VIP         192.168.2.224 LVS        192.168.2.217     centos7 nginx1    192.168.2.231     cen ...

  2. bootstrap modal 移除数据

    有时业务需求,在弹出模态框时需要动态的展示,但是不做处理时,每次弹出的都是第一次的数据,所以需要监听模态框关闭,每次关闭需要先清除里面的数据. //监听弹页关闭 $("#myModal&qu ...

  3. Eslint 能自动格式化代码,为什么还要用 Prettier?

    ESLint 与 Prettier 区别: ESLint:代码检测工具:可以检测出你代码中潜在的问题,比如使用了某个变量却忘记了定义: Prettier:代码格式化工具:作为代码格式化工具,能够统一你 ...

  4. python 常用的模块

    面试的过程中经常被问到使用过那些python模块,然后我大脑就出现了一片空白各种模块一顿说,其实一点顺序也没有然后给面试官造成的印象就是自己是否真实的用到这些模块,所以总结下自己实际工作中常用的模块: ...

  5. springboot @RequestBody使用JsonSerialize与 JsonDeserialize自定义转参数,处理Date日期格式

    JsonDeserialize: 1.请求接收的是一个json,并且由对象接收 @RequestMapping(value = "/query", method = {Reques ...

  6. 【java】模板方法设计模式

    模板方法:在定义功能时,功能一部分是确认的,另一部分是不确认的或者后续会变化的.这时可以把不确定的部分暴露出去,定义成抽象类或者接口,由子类来完成. abstract class GetDuring ...

  7. USB3.0及NVME SSD安装WIN7X64

    USB3.0及NVME SSD安装WIN7X64https://tieba.baidu.com/p/4822034273?pn=1所有的人都是菜鸟过来的,不过有些人懂得自己动手找到答案:有些人则是懒得 ...

  8. Error:Execution failed for task :app:transformClassesWithInstantRunForDebug解决方案

    转自https://blog.csdn.net/student9128/article/details/53026990

  9. aspose.cells 插入图片

    ,,"d:\\1.jpg"); Aspose.Cells.Drawing.Picture pic = worksheet.Pictures[iIndex]; pic.Placeme ...

  10. 涂抹mysql笔记-mysql复制特性

    <>mysql复制特性:既可以实现整个服务(all databases)级别的复制,也可以只复制某个数据库或某个数据库中的某个指定的表对象.即可以实现A复制到B(主从单向复制),B再复制到 ...