php数据类型:
PHP 支持 8 种原始数据类型。
四种标量类型:
· boolean(布尔型)
· integer(整型)
· string(字符串)
Note: string 最大可以达到 2GB。
两种复合类型:
· array(数组)
· object(对象)
最后是两种特殊类型:
· resource(资源)
· NULL(无类型)
为了确保代码的易读性,php还有一些伪类型:
· mixed(混合类型)
· number(数字类型)
· callback(回调类型)
以及伪变量 $...。
整数的细节:
1.要使用八进制表达,数字前必须加上 0(零)。要使用十六进制表达,数字前必须加上 0x。要使用二进制表达,数字前必须加上 0b。
2.如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float。
3.整型数的字长和平台有关,尽管通常最大值是大约二十亿(32 位有符号)。64 位平台下的最大值通常是大约 9E18。PHP 不支持无符号整数。Integer 值的字长可以用常量 PHP_INT_SIZE来表示,自 PHP 4.4.0 和 PHP 5.0.5后,最大值可以用常量 PHP_INT_MAX 来表示。
4.PHP 中没有整除的运算符。1/2 产生出 float0.5。值可以舍弃小数部分强制转换为 integer,或者使用 round() 函数可以更好地进行四舍五入。
Boolean细节:
1、要指定一个布尔值,使用关键字 TRUE 或 FALSE。两个都不区分大小写。
2、要明确地将一个值转换成 boolean,用 (bool) 或者 (boolean) 来强制转换。但是很多情况下不需要用强制转换,因为当运算符,函数或者流程控制结构需要一个 boolean 参数时,该值会被自动转换。
3、为false的情况:
a.False
b.整型值0
c.浮点型0.0
d.空字符串和字符串‘0’
e.不包含任何元素的数组
f.不包含任何成员变量的对象(仅PHP4.0适用)
g.特殊类型null(包含尚未设定的变量)
浮点数细节:
小数的精度:从左边开始第一个非0的数字开始计算
浮点数的字长和平台相关,尽管通常最大值是 1.8e308 并具有 14 位十进制数字的精度(64 位 IEEE 格式)。
字符串的细节:
一个字符串可以用 4 种方式表达:
· 单引号
· 双引号
· nowdoc 语法结构(自 PHP 5.3.0 起)
单引号引用‘$var’打印的会是$var,双引号引用“$var”打印的会是变量的值。大致意思就是单引号不会转义,双引号会转义
Php逻辑运算符的细节:
“与”和“或”有两种不同形式运算符的原因是它们运算的优先级不同
例如:
$a=true || false;//为true
$b=false or true;//为false,因为or的运算级别比等号低
运算符优先级:
Break、continue、goto:
break 结束当前 for, while,do-while 或者 switch 结构的执行。break 可以接受一个可选的数字参数来决定跳出几重循环。
continue 在循环结构用用来跳过本次循环中剩余的代码,并在条件求值为真时开始执行下一次循环,continue 可接受一个可选的数字参数来决定跳过几重循环到循环结尾。
goto 操作符仅在 PHP 5.3及以上版本有效。使用注意事项: PHP中的goto有一定限制,只能在同一个文件和作用域中跳转,也就是说你无法跳出一个函数或类方法,也无法跳入到另一个函数。常见的用法是用来跳出循环或者switch,可以代替多层的break。
常量:
常量可以理解成是一种特殊的变量,一旦被定义,就不能再改变或者取消定义。
常量和变量有如下不同:
1. 常量前面没有美元符号($);
2. 常量用 define() 函数定义,或者使用const(php5.3可以);
3. 常量可以不用理会变量的作用域而在任何地方定义和访问;
4. 常量一旦定义就不能被重新定义或者取消定义;
5. 常量的值是标量(string,integer,float,boolean)。