您的位置:首页 > 编程语言 > PHP开发

php数据类型和运算符细节

2014-07-05 16:16 218 查看
php数据类型:

PHP 支持 8 种原始数据类型。

四种标量类型:

· boolean(布尔型) 

· integer(整型) 

· float(浮点型,也称作 double) 

· 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 种方式表达:

· 单引号 

· 双引号 

· heredoc 语法结构 

· 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)。 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息