PHP中通过(int),(bool),(float),(string),(array),(object),(unset),(binary)等就可以实现PHP的类型强制转换,和C语言基本上一样,使用很方便,详细介绍每种类型强制换行类型使用情况。
PHP中通过(int),(bool),(float),(string),(array),(object),(unset),(binary)等就可以实现PHP的类型强制转换,和C语言基本上一样,使用很方便,每种强制换行类型使用情况还是要注意的,有些类型之间可能会报错不能直接强制使用。
一、使用方式(如强制转换成数组):
$result = (array)$var;
二、强制转换的类型:
(int), (integer) : 强制转换为整形;
(bool), (boolean) : 强制转换为布尔类型;
(float), (double), (real) : 强制转换为浮点型;
(string) : 强制转换为字符串;
(array) : 强制转换为数组;
(object) : 强制转换为对象;
(unset) : 强制转换为NULL ;
(binary) : 强制二进制转十进制;
三、不同类型之间强制转换情况
(int)或者 (integer)强制转整形
强制转换对象布尔型时false为0,true为1;
强制转换对象是浮点类型时向下取整;
强制转换对象是字符串时返回字符串第一个数字,如果字符串没有数字返回0;
强制转换对象是数组时,空数组返回0,数组不为空时返回1;
强制转换对象是object(对象)时报错;
强制转换对象是null时返回0;
(bool)或者(boolean)强制转布尔型
强制转换对象为false,0,0.0,’’,’0’,array(),空类、null时返回false;
除以上外其它值都被认为是 true,所有的负数也是true;
(string)强制转换为字符串
强制转换对象是布尔型false时返回空字符串,true时返回1;
强制换换对象是整形或者浮点型时返回自字符串形式的数字如’1’以及’0.1’;
强制转换对象是数组和对象时返回"Array"和"Object"描述文字的字符串,不同版本可能会报错;
强制转换对象是null时位空字符串;
(array)强制转换为数组
强制转换对象是整形、浮点型、字符串、布尔型返回一维数组,并且下标为0值为之前类型的值;
强制转换对象是object(对象)时返回数组(根据对象的对象会返回多维数组);
强制转换对象是null时或返回一个空数组;
(object)强制转换为对象
强制转换对象是整形、浮点型、字符串、布尔型时返回内置类 stdClass 的实例,属性scalar值为之前类型的值,
强制转换对象是数组时返回对象;
强制转换对象是null时返回一个空的实例;
(unset)强制转换为NULL
(unset) $var 将变量转换为 null 将不会删除当前变量的值。只是返回 null值;
(binary)强制二进制转十进制
将所有类型转换为二进制字符串,是字节字符串,没有字符集,区别于普通php的Unicode字符串。