标量数据类型(大略数据类型)
整型:int或者integer
浮点型:float或者double

布尔型:bool或者Boolean
字符型:string
复合数据类型
数组:array
工具:object
分外数据类型
资源:resource
空:NULL
为什么会有数据类型?
对付电脑来说,根本没有数据类型,只有二进制。
是由于人有需求,须要对数据进行分门别类,以是才定义了这么些数据类型。
PHP是一门弱类型的措辞。
强类型:在给变量赋值之前,须要对变量的类型进行声明,而且给变量的值必须是指定类型的数据
Int num;
Num = 10;
//num = ‘abcd’;//系统会报错,提示数据类型不符合
弱类型:变量分为两个部分,一部分是变量名,变量值,变量名是不区分数据类型的,值是有类型
$a = 10; //10是整型,但是a变量本身没有数据类型。
整型:int,指的是在一定范围内的整数。
PHP_INT_MAX 代表整型的最大值。
如何判断一个变量到底是什么类型?var_dump(变量)
PHP还支持其他进入:八进制和十六进制
八进制:逢十进一,假设一个十进制的数值为17,21
PHP默认都因此为是十进制,除非碰到以0开始,而且在输出的时候会将其他类型进制转化成十进制输出。
$oct = 021;
如何让系统在输出的时候保留原来的进制输出?printf(‘%o’,$a);
十六进制:逢16进1
1,2,3,4,5,6,7,8,9,a,b,c,d,e,f---------10,11…1f--------20,21….
$hex = 0x15; //21
1.进制转换
十进制转八进制
十进制转十六进制
十六进制转十进制(其他进制转十进制都可以采取同样的办法)
PHP为用户供应了进制转换的函数
Hexdec():十六进制转十进制
Dechex():十进制转十六进制
Bindec():二进制转十进制
Decbin():十进制转二进制
Octdec():八进制转十进制
Decoct():十进制转八进制
浮点型:float
强类型措辞里
Float:4个字节,单精度
Double:8个字节,双精度
单精度和双精度表示能够精确的位数不一样,单精度的精确长度7位,双精度大概是16位旁边
单精度值:1234567890 ----------》1234570000
在PHP中
Float=double=8个字节
PHP中浮点数能够保存的最大值:1.8 10^302
由于浮点数会丢失精度,以是有可能导致看到的浮点数跟实际存储的浮点数一样,因此不采取浮点数进行比较
韶光戳是一类整型
布尔类型
正常的,布尔类型有两个值:TRUE和FALSE
在PHP中,只要非0,都为TRUE
在PHP中,有哪些会被认为是FALSE呢?
以下部分都是FALSE,这部分FALSE不能用来输出或者var_dump判断,属于不同的数据类型,须要通过if进行判断,从而得出其精确的布尔结果
FALSE
0
0.0
’’
’0’
空数组
null值
字符类型
由字符组成的数据类型便是字符类型。
定义办法有多种
$str1 = ‘abcd’;
$str2 = “abcd”;
单引号和双引号有什么差异?
双引号号中会对符合条件的变量进行解析,得到其结果;单引号会直接原样输出所有字符。
在双引号中,能够解析更多的转义字符
单引号里只能识别\’对付单引号的转义
双引号里不能识别\’对单引号的转义,双引号\”,\r\n\t都可以识别
把稳:转义字符\不能放倒字符串的末了,由于放到末了会对末了的引号(不论单双)都会进行转义。
字符串定义办法:定界符
语法:$string = <<<STR
字符串内容
STR;
利用双引号也可以实现js的输出
解释双引号跟定界符办法没有什么明显的差异
定界符也可以输出变量
把稳:利用定界符输出字符串能够保留其原有的格式。
什么时候利用定界符,什么时候利用双引号?
他们之间没有什么差异。常日,当字符串非常长而且繁芜的时候,尽可能的利用定界符,由于其格式非常明确,便于识别。如果字符串很短的话,那么就建议利用双引号。
什么时候利用双引号,什么时候利用单引号?
有这么一种认为:单引号的效率比双引号效率高。如果输出的字符串不须要解析变量和一些转义字符,那么只管即便利用单引号,其他情形下利用双引号或者定界符。
定界符须要把稳以下几点
定界符的第一行 <<< STR之后不能有任何内容,连空格都弗成
利用定界符,注释不能卸载定界符内容里面
末了部分STR要独占一行
末了部分STR必须要顶格,如果涌现了这种缺点,很难找出来
在双引号或者定界符中解析变量把稳事变
担保变量名与后面的其他字符串之间没有联系(可以通过空格来进行区分)
利用{}对变量进行包含,显示的见告编译器大括号里面的是一个变量
提示浏览器利用指定编码解析html文件
2.PHP代码实行过程
PHP因此中脚本措辞, 也是一种阐明型措辞
Index.c
Index.java ====》 index.class ==è实行index.class文件
前面两种都须要前辈行编译,产生一个实行文件
Index.php ======》阐明