php变量类型转换

初学php时总结的变量之间的相互转换。只适合小白总结的时候看。当然,其中还有很多不合适的地方。我会尽我最大的努力进行修改
<?php 
/**
2016年10月7日10:08:45

8大变量类型中间相互转化

**/
变量类型之间的相互转化(使用 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); //3
			round(3.5); //4 默认精度为0
			round(4321.23456, 3); //4321.235
			round(4321.1234, -3); //4000

			float ceil(value) 进一法取整,
			float floor(value) 舍去法取整

			number_format() 以千分位输出格式化数字
			number_format(number, 小数点位数(), 小数标记符'.',整数标记符号',')
				number_format(123456789.987654321, 6, !, @); //123@456@789!987654
				number_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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值