php数据类型的转换

作者: 鲁智深 分类: PHP 发布时间: 2014-12-18 09:17

一、因为php是弱类型语言,所以,在有些情况下,变量会自动转换类型

php中有2种数据类型转换方式

自动转换(隐式转换)

强制转换(显式转换)

1、隐式转换:

在变量使用环境中,会把变量自动转换该环境下的类型

5+”6″ //11

5+”a2″ //5

5+”2a” //7

1
2
3
4
5
6
7
8
9
     echo "<br/>--------隐式转换:-------<br/>";
     //连接数据库
     $res = mysql_connect("localhost","root","");
     var_dump($res);
         if($res){
             echo "数据库连接成功";
         }else{
             echo "数据库连接失败";
         }

2、显式转换:

我们要在代码中,指定转换成的类型

转成整型:(int)

转成浮点型:(float)

转成字符型:(string)

转成布尔型:(bool)

转成数组:(array)

转成对象:(object)

转成空值:(nuset)

1
2
3
     echo "<br/>--------显式转换:-------<br/>";
     $name = "2a";
     var_dump((int) $name);

二、转成布尔型

false:

整型0,浮点型0.0,字符串:空字符串和”0″,空数组:array(),资源null,false

除了上面的都是ture真

1
2
3
4
5
6
7
     echo "<br/>--------转成false-------<br/>";
     $val = 0.01;
     if($val){
         echo "\$val变量转换后是真";
     }else{
         echo "\$val 变量转换后是假!";
     }

三、转成数值型:

1、布尔型false=》0 ,true=》1

2、浮点型转成整数:把数值的小数部分去掉

1
2
3
     echo "<br/>--------浮点型转成整数:-------<br/>";
     $float = 1.234;
     var_dump((int)$float);

3、字符串转成数值

1
2
3
     echo "<br/>--------字符串转成数值:-------<br/>";
     $str = "1a23";
     var_dump((int) $str);

①全部是数字的字符串,正常转换

②第一位是字母的,转成0

③第一位数字,中间有字母,从字母开始舍弃

4、空数组=》0,非空数组=》1

四、布尔型转成整型

1、布尔型false=》空字符,true=》”1″

1
2
3
4
5
6
     echo "<br/>--------布尔型转成整型------<br/>";
     $bool = true;
     var_dump((int)$bool);
     
     $bool1 = false;
     var_dump((int)$bool1);

2、浮点数和字符串=》在数字外面加上引号 123.4=》”123.4″

3、数组=》array

4、对象=》”object”

5、资源=》”resource id #序号”

6、null=》空字符

五、临时转换和永久转换

临时转换:

1
2
3
4
5
     echo "<br/>--------临时转换------<br/>";
     $str = "12a3";
     $num = (int) $str;
     var_dump($num);
     var_dump($str);//变量本身类型没有改变

永久转换:

1
2
3
4
5
6
7
     echo "<br/>--------永久转换------<br/>";
     $str1 = "12a3";
     $num1 = (int) $str;
     var_dump($num1);
     
     settype($str1,"int");
     var_dump($str1);//改变了变量本身类型

settype(要转的变量,要转成的类型”int” “string”);

settype($str,”array”);

获取变量类型,返回变量类型

gettype(变量);

1
2
3
     echo "<br/>--------获取变量类型,返回变量类型------<br/>";
     $bool = true;
     var_dump(gettype($bool));

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注