PHP 之数据类型
一、数据类型划分
基本类型
-
- 整型:int,integer
- 浮点型:float,double, real
- 字符串:string
- 布尔类型:bool,boolean
复合类型
-
- 数组:array
- 对象:object
特殊类型
-
- 空类型:null
- 资源类型:resource
二、整数类型
1.写法
-
- $a = 123 //十进制数
- $a = 0123 //八进制数
- $a = 0x123 //十六进制数
- $a = 0b1010 //二进制数
2.进制转换
-
- decbin(一个10进制数字): 结果返回的是该数字的2进制数字形式的字符串!!!
- decoct(一个10进制数字): 结果返回的是该数字的8进制数字形式的字符串!!!
- dechex(一个10进制数字): 结果返回的是该数字的16进制数字形式的字符串!!!
-
- bindec(一个2进制数字字符串): 结果返回的是该2进制数字字符串对应的10进制数字!!!
- octdec(一个8进制数字字符串): 结果返回的是该8进制数字字符串对应的10进制数字!!!
- hexdec(一个16进制数字字符串): 结果返回的是该16进制数字字符串对应的10进制数字!!!
三、浮点数
1.写法
-
- $v1 = 123.456;
- $v1 = 123.456E2; //含义为:123.456乘以10的2次方;
注:php中输出其实是做了一定的处理之后的显示结果,而js的输出是该计算结果的“真实反映”。
四、字符串
1.写法
-
- $str = " ";
- $str = ' ';
- $str = <<<"标识符A" 标识符A; 双引号定界符字符串(heredoc)
- $str = <<<'标识符B' 标识符B; 单引号定界符字符串(nowdoc)
五、布尔类型
对于这种情况,只有如下数据是被当做“假”(false):
0, 0.0, “”, “0”, null, array(), false, 还有一个是“未定义的变量”,其余都是真。
六、类型转换
1.自动转换
-
- $a = 1 + "2"; // 3
- $a = "2" + 1; // 3
- $a = 1 + "2abc"; // 3
2.强制类型转换
通常的转换目标类型有:
(int), (float), (string), (bool), (array), (object)
七、类型相关函数
var_dump():用于输出变量的“完整信息”,几乎只用于调试代码。
getType($变量名):获取该变量的类型名字,返回的是一个表示该类型名字的字符串,比如:“string”,“bool”,“double”,“int”
setType($变量名,“目标类型”):将该变量强制改变为目标类型;
isset(), empty(), unset();。。。。省略!
is_XX类型() 系列函数:判断某个数据是否为某种类型,有如下一些:
is_int($x); 判断$x是否是一个整数类型;
is_float($x);
is_string($x);
is_bool($x);
is_array($x);
is_object($x);
is_null($x);
is_numeric($x); 判断$x是否是一个数字!
is_scalar($x); 判断$x是否是一个“标量类型”