《php基础语法之类型转化》由会员分享,可在线阅读,更多相关《php基础语法之类型转化(4页珍藏版)》请在金锄头文库上搜索。
1、类型转换类型转换运算数在参加运算的时候,需要将类型转为相同,然后才进行计算。在上面的例子中,第 一个运算中,会先将$int 转成浮点,然后和$f1 相加,第二个运算中,会先将$str 转成 int 类型,然后和$int 相加。在这个过程中,出现了类型转换类型转换。在上面的例子中,转换是系统自己进行的。弱类型弱类型和强类型。在定义一个变量的时候,不需要指定变量的类型,它的类型由程序的上下文来决定的,比 如$a = 10,那就意味着$a 是一个整型,$a = hello,就意味着$a 是一个字符串。 像这种确定变量类型的方式就是弱类型弱类型。 与之对应的就是强类型,比如 C、java、C#等。变量
2、在参与运算的时候,类型发生了变化,但变量本身的类型并没有改变。注意两点: 在参与运算的多个操作数据之间,运算之前都需要将数据类型转成一致才可以。 这并没有改变这些操作数本身的类型;改变的仅是这些操作数如何被求值以及表达式 本身的类型。通常有两种方式来完成类型转换: 强制转换 自动转换强制转换,我们在需要转换的变量之前,使用类型关键字,用括号括起来。 Int 或者 interger Float BString Array Object在 PHP 中,实现强制转换,在要转换的变量之前加上用括号括起来的目标类型即可。 (int), (integer) - 转换为 整型(integer) (bool)
3、, (boolean) - 转换为 布尔型(boolean) (float), (double), (real) - 转换为 浮点型(float) (string) - 转换为 字符串(string) (array) - 转换为 数组(array) (object) - 转换为 对象(object) (unset) - 转换为 NULL将其他类型转为资源类型是没有意义的。 强制转换在程序中,应用并不多,大部分情况下,使用自动类型转换就可以完成业务逻辑。转换规则转换成字符串 一个 整数 或 浮点数 被转变为数字的字面样式的字符串 一个 boolean TRUE 值被转换成 字符串“1“。 Boo
4、lean FALSE 被转换成“ 数组转换成 字符串 “Array“ 资源总会被转变成“Resource id #1“这种结构的 字符串 NULL 总是被转变成空的字符串。转换成整型 从布尔值转换,FALSE 将产生出 0(零) ,TRUE 将产生出 1(壹) 。 从浮点数转换,当从浮点数转换成整数时,将向下取整向下取整。 从字符串转换,如果字符串 没有包含 .,e或E 并且数字值符合整数类型的限定 ,可被认定是一个 integer, 否则被认定为一个 float。字符串的开始部分给定了它的 值,如果 字符串 以合法的数字开始,这个数字可直接使用。 否则,值就是 0 。转换成布尔型当转换为 b
5、oolean 时,以下值被认为是 FALSE: 布尔值 FALSE 自身 整型值 0 (零) 浮点型值 0.0 (零) 空字符串, 以及 字符串 “0“ (注意“00“、“0.0“被认为是 TRUE) 空数组 特殊类型 NULL (包括尚未设定的变量) 所有其它值都被认为是 TRUE(包括对象和资源) 。 1 和其它非零值(不论正负)一样,被认为是 TRUE! 注意细节 HTML 表单并不传递整数、浮点数或者布尔值,它们只传递字符串字符串。 FALSE 是一个布尔值而 “false“ 是一个字符串。 数据类型相关函数 Var_dump:打印变量的详细信息,包括类型和值 Gettype:获得类型 Settype:设置类型 Is 系列:其中 is_array 会经常用到 Isset:检查一个变量是否存在(设置) Empty:检查一个变量是否为空对于 isset 而言,只要声明过(有值) ,不管它的值是什么,那么就返回 true 对于 empty 而言,相当于 boolean(变量) ,然后再来取反。简单例子注意,在使用 empty 时候,要结合具体的业务逻辑类分析。