php变量类型转换

来源:互联网 发布:linux下删除ftp用户 编辑:程序博客网 时间:2024/06/06 10:46
初学php时总结的变量之间的相互转换。只适合小白总结的时候看。当然,其中还有很多不合适的地方。我会尽我最大的努力进行修改
<?php /**2016年10月7日10:08:458大变量类型中间相互转化**/变量类型之间的相互转化(使用 var_dump() 测试)php中自动转化的就是 + ,如果存在浮点型,结果是浮点型,否则是整形。无视字符串settype(变量, 转化的类型); 返回bool   改变一个变量的类型settype($var, "bool/int/float/ string/array/object/null");强制类型转换:要转换的变量之前加上用括号括起来的目标类型允许的强制转换有: (int), (integer) - 转换为 整型(integer) (bool), (boolean) - 转换为 布尔型(boolean) (float), (double), (real) - 转换为 浮点型(float) (string) - 转换为 字符串(string) (binary) - 转换为二进制 字符串(string) (PHP 6) (array) - 转换为 数组(array) (object) - 转换为 对象(object) (unset) - 转换为 NULL (PHP 5) (binary) 转换会在结果前面加上前缀'b',PHP 5.2.1 新增转化成string型的,1.只要使用 . 或者 .= 连接就可以了。字符串操作符2.一个值可以通过在其前面加上(string)3.用strval()函数来转变成字符串bool型转化成string ==> TRUE 值被转换成 字符串"1"。 Boolean FALSE 被转换成"" (空的字符串)。NULL 总是被转变成空的字符串。数组-->字符串 string implode(',' $arr)转化成array型1.int float string bool resource ,转换成array型,得到只有一个元素的数组(下标为0),所以 (array)$a 和array($a) 是一样的在一个值前加(array)就可以转化了,null转化成数组得到一个空数组array()2.字符串有特殊的转换技巧,需要用到函数转化成 Object (对象), 有对象肯定有类(class),1.在一个值前加(object),就可以转化,转化之后该值就成了该对象scalar的属性值了$obj = (object) 'nihao';echo $obj->scalar; //你好 resource(资源类型), 资源类型是一种特殊变量,保存了到外部资源的一个引用,通过专门的函数来建立和使用的,1.资源类型变量保存的是打开文件、数据库连接、图形画布区域等等的 特殊句柄,转换时没有任何意义的2.get_resource_type(handle) 返回资源类型的字符串null类型1.把一个变量转换成null类型,应该使用 (unset)$m 会把这个变量删除并且unset掉他的值2.unset($a) 是没有返回值的想要转化成int型的1.(int)$a; 强制类型转换2.只要 +0 就可以了float()型的一些函数1. string 转化成 float或者int,只要 string 本身符合特点,直接 +0.0 就OK 2. float round(1.2352,指定精度) — 对浮点数进行四舍五入round(3.4); //3round(3.5); //4 默认精度为0round(4321.23456, 3); //4321.235round(4321.1234, -3); //4000float ceil(value) 进一法取整,float floor(value) 舍去法取整number_format() 以千分位输出格式化数字number_format(number, 小数点位数(), 小数标记符'.',整数标记符号',')number_format(123456789.987654321, 6, !, @); //123@456@789!987654number_format(123456789, 3); //123,456,789.000字符串之间是用 . 来连接的而+- / *是数值之间**/$int = 629;$float = 62.9;$str = 'hello world !';$arr = array(1, 2.3,'b', array(5, 'b'), 6);//int-->float$int_float = $int+0.0; //float 629$int_float2 = (float)$int;  //float 629//int-->string$int_str = (string)$int; //string '629'$int_str2 = $int.$str; //string '629hello world !'//float-->int/*settype($int, "array");print_r($int); //Array ( [0] => 629 )*/var_dump($int_str2);


0 0
原创粉丝点击