PHP的数据类型主要分为三大类八小类 ,三大类分为基础数据类型,复合数据类型,以及资源数据。基础数据类型又分为 整数型 浮点型 布尔型 字符串型 复合数据类型主要包括数组array 以及 对象 object 资源数据主要指外部的数据resource以及空值null
首先整数型int 64系统中占据8字节内存 32位系统中分配4字节内存 例子: %a =1;
浮点float型同样占据8字节内存 但是拥有更高的精准度 需要拿出一部分内存储存指数 所有大该只能13-14位数 例子 %b = 1.234
布尔型 boolean 只有true以及 false两种值 例子 $c =true;
字符串 String 字符串的定义有单引号和双引号两种 主要区别体现在 单引号所能转义的字符少 双引号内能转义大量的转义字符
单引号只能转义 单引号与单斜杠 双引号可以转义 $ 双引号 换行 空格等
双引号定义的字符串还可以解析出字符串中所带的变量 使用{$a}包住变量 方便用户和机器区分
通过定界符定义字符串 保留数据结构以及可以嵌入代码(JS) 两种定界符分别是nowdoc以及heredoc 分别代表单引号以及双引号 定界符是一种非常脆弱的定义方法 必须遵守定界符的规则
数组 由元素组成 元素由下标与值组成 定义数组有很多方法 例一$arr1 = array(); 例二$arr2 =array('name','age') 例三: $arr3=[]; 例子四 $arr4=['name','age']; 由于PHP弱语言的特性 PHP数组中没有数量的限制 而且可以是任意数据类型 并且可以动态的增加数据(arr4[]='name'); PHP 可以指定索引 关联数组 例如: $arr5 = [1=>10,10=>100,100=>1000] ;那么arr[10]就等于10 并且新增元素 默认最大下标加一
数据类型的判断 PHP提供了判断数据类型的函数 例如 is_numeric() 如果变量是数值或者纯数值的字符串 就返回true
is_numeric ( mixed var ): //检测变量是 否为数字或数字字符串
is_bool(): // 检测变量是否是布尔型
is_float(): // 检测变量是否是浮点型 和is_double,is_real()都一样的用法
is_int(): // 检测变量是否是整数is_integer() 一样的 用法
is_string(): // 检测变量是否是字符串
is_object(): // 检测变量是否是一个对象
is_array(): // 检测变量是否是数组
is_null(): // 检测变量是否为 NULL 值是否是NULL大小写敏感
对于外部用户提交的数据一定要做判定
数据类型的转换分文自动转换 与 强制转换 自动转换的规则大多数由于弱类型语言的特性产生的
第一个字为字母或其他符号时结果为0 第一个字符为数字 一次像后保留 直到不是数字位置 碰到第二个小数点时会自动停止转换 自动转换不会改变原来变量的值
还有一种强制转换 通过在()中方填写数据类型转换