首先,我们来看看八种数据类型划分有哪些?
数据类型划分:
基本类型(标量类型):
整数类型:int integer浮点数类型:float double字符串类型:string布尔类型:bool Boolean复合类型:
数组:array对象:object特殊类型:
空类型:null这种类型中只有一个数据,那就是null,不区分大小写。资源类型 :resource是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。了解了之后, 这几种大家应该在熟悉不过了吧?但深入的知识点,还需自己探究跟摸索。接下来了解获取数据(变量)的类型函数,单引号和双引号的字符串区分。
获取数据(变量)的类型函数:
getType($变量名)返回类型 (不建议使用,了解一下即可)var_dump($变量名)输出类型 数据内容 (长度) (熟悉,PHP 常用来做精密调试)单引号和双引号的字符串区分+转义符:
单引号和双引号的字符串区分:在以前分享中有简单的介绍,接下来分享的主要是转义符。
转义符:
单引号字符串:最后一个\ 要转义
转义符:\\ \'
双引号字符串:
转义符 : \\ \" \n(换行),\r(回车),\t(tab)\$ 表示“$”,取消在双引号 字符串 的 变量起始含义
// 单引号字符串:$v1 = 123;$str1 = 'ab\\cd\'efg $v1'; echo $str1; // ab\cd'efg $v1
// 双引号字符串:$v1 = 123;$str2 = "ab\"cd\nfg\tabcd \$v1";echo $str2; // ab"cd//fgabcd $v1
定界符:
双引号的 可以转义 识别变量 单引号没有
取一个类似常量名的名字 以<<<加该名字开始 用该名字及分号结束 只能出现该名字及一个分号 (里面的内容都可以出现)
$str3 = <<<"AVBD"abcddsff,;AVBD;echo "<br>$str3";
拓展:
int 、integer的区别:
int:基本数据类型,默认值为0。integer:类,默认值为null。
float、double 的区别:
float:单精度,有效数字位7位。double:双精度,有效数字位16位。
bool、Boolean的区别:
bool:基本数值。Boolend:对象。
资源类型:resource
is_resource()函数测定一个变量是否是资源。get_resource_type()函数则返回该资源的类型。
类型的转换:
自动转换:又"运算符"或类似运算符的语句来决定的
需要某种数据类型,而给出的数据不是此类型,会发生自动转换,将该类型转换成目标类型
//常见的自动转换:$v1 = 1 + 2; // 3$v2 = 1 + "2";// 3$v3 = "1" + 2;// 3$v4 = "1" + "2";//3//在PHP,算术运算符,就只是对数值就行计算$v5 = 1 + "2asd";//3$v6 = "1" + "2asd";//3$v7 = "1asd" + "2asd";//3$v8 = "1asd" + "asd2";//1$v9 = "asd1" + "asd2";//0//可见 只识别字符串前面的数字部分$v10 = 1 + true;//2$v11 = 1 + false;//1
强制转换:
$v1 = 123;$s1 = (float)$v1;//将$v1 的值转换为float类型$s2 = (string)$v1;//将$v1 的值转换为string类型echo "<br>s1 为";var_dump($s1);echo "<br>s2 为";var_dump($s2);
简单讲述:
通常目标类型:int,float,string,bool,array,object强制转换类型,并不改变该变量的本身数据或类型,
对应有一个语法是直接改变原本的数据以及类型;
// settype($变量名,目标类型);$v2 = 123;echo "<br>v2未转类型为";var_dump($v2);setType($v2,"string");//直接转换$v2的类型为stringecho "<br>v2为";var_dump($v2);// v2为string(3) "123"
在转义符案例中:php在浏览器输出的你所见到结果是经过浏览器解析而得到的,需要查看源码文件或者加上<pre>标签得到的才是理想的答案。
integer的拓展知识:自动拆箱和自动装箱。(有兴趣了解一下,对以后稍有用处)
PHP 数据类型划分(8种) 获取数据(变量)的类型函数 单引号和双引号的字符串区分转义符 定界符 拓展