php 的数据强制类型转换和默认类型转换 有几个月开发经验的朋友,都知道php属于弱类型语言,即不会强制开发者使用数据时指定其数据类型。 下面个人总结一下,php对数据类型的处理方式。 一。先说强制类型转换(也可理解成手动类型转换或指定数据类型): PHP强制数据类型转换有三种转换方式: 1.用强制类型关健字 •(int)、(integer):转换成整形 •(float)、(double)、(real):转换成浮点型 •(string):转换成字符串 •(bool)、(boolean):转换成布尔类型 •(array):转换成数组 •(object):转换成对象 •(binary):字节码 示例: |$num1=3.14; |$num2=(int)$num1; |var_dump($num1); //输出float(3.14) |var_dump($num2); //输出int(3) 2.类型转换函数 intval()、floatval()、strval() 、settype(mixed var,string type) 示例: |$str="123.9abc"; |$int=intval($str); //转换后数值:123 |$float=floatval($str); //转换后数值:123.9 |$str=strval($float); //转换后字符串:"123.9" |$num4=12.8; |$flg=settype($num4,"int"); |var_dump($flg); //输出bool(true) |var_dump($num4); //输出int(12) 二。再说默认类型转换,规则: +号,自动按数字运算。 .号,自动按字符串运算. 示例: |$i=1; |$a=$i.'a'; //结果1a |$c=$i+'a';//结果1 |0==“abc"; //结果是true , 因为"abc”按转成数字参加比对 值的类型确定数据类型 $foo = "0"; // $foo is a string (ASCII 48) $foo++; // $foo is the string "1" (ASCII 49) $foo += 1; // $foo is now an integer (2) $foo = $foo + 1.3; // $foo is now a double (3.3) $foo = 5 + "10 Little Piggies"; // $foo is a double (15),因为后面的“10。。。”转成数据类型是10 $foo = 5 + "10 Small Pigs"; // $foo is an integer (15) int,float,doblue 之间就长运算。 $foo = 1+1.34 ; // $foo 是float 三。类型相关的其它函数: gettype 获得变量类型 settype 指定变量类型 get_resource_type 获得资源类型 四。有绝对的必要了解一下运算符优先级 最高优先级为一元运算符new , [ ] , ! , ~ , ++ , -- , 类型转换 接下来是二元算术运算符* , / , % , + , - , 字符串连接符. 再接下来是二元位运算符 << , >> 再接下来是比较操作符符< , > , <= , >= , == , !=(<>) , === , !== 再接下来是位运算符和逻辑运算符& , ^ , | , && , || 再接下来是三目运算符?: 再接下来是函数调用 再接下来是赋值操作符= , += , -= , *= , /= , .= , %= , &= , |= , ^= , ~= , <<= , >>= 再接下来是and , xor , or,(这个我比较郁闷的,书的前面写了and和&&,or和||只是表达形式不一样,但是这里很明显优先级是不一样) 最后是一个列表分隔符,
php类默认类型,php 的数据强制类型转换和默认类型转换
最新推荐文章于 2022-03-29 20:07:26 发布