PHP程序设计读书笔记三

一、隐式类型转换:
在PHP中进行运算时,PHP会自动在需要时将值从一个类型转换到另外一个类型,这种自动进行的类型转换叫做隐式类型转换。
二元算术运算符要求它的两个操作数都是相同的类型。
1.当两个操作数数的类型不同时的转换规则:
1.当第一个操作数是整型,第二个操作数是浮点型时:会将整型转换成浮点型。
2.当第一个操作数是整型,第二个操作数是字符串时:会先将字符串转换为数字,如果转换后的值为浮点型,则再将整型转换为浮点型。
3.当第一个操作数是浮点型,第二个操作数是字符串时:会将字符串转换成浮点型。
2.字符串连接符".",在连接字符串之前将两个操作数都转换为字符串。
3.字符串也可以转换成数字。
如果在字符串开头没有发现数字,则该字符串的数值就是0,如果字符串包括一个句点(.)(这个句点需要紧跟这个数字)或e,E,对该字符串求值则生成一个浮点数。
example:
1.   "9 Lives" - 1   //结果为8(int)
2.   "3.14 pies" * 2  //结果为6.28(float)
3.   "9 Lives." - 1  //结果为8(int)
4 "9. Lives" - 1  //结果为8(float)
5.   "1E3 points of light" + 1 //结果为1001(float)
6.   "ada"-1 //结果为-1(int)
4.求模运算符(%):在运算之前,会先将它的两个操作数转换成整型,然后再运算。
二、自动递增和自动递减操作符(++,--):该运算符只对变量有效
1.对于纯数字:
1.如果将操作符放到操作数前面(++a,--b),它将返回操作数的新值(自增或自减之后的值)。
2.如果将操作符放到操作数后面(a++,b--),它将返回操作数的原值(自增或自减之前的值)。
2.对于字符串:
对一个字母字符进行递增操作会将它变成字母表的下一个字母,增加"z","Z","9"将绕回到"a","A","0",并且给它前面的字母递增1(就类似于进制系统中的进位)。
3.对于布尔值:
递增递减都不会改变原来的值。
4.对于NULL
递减不发生变化
递增变为1

example:

<?php
		/*
		 * 测试自增自减运算符在字符串,布尔值和NULL值的运算规则
		 */
		$a = "a";
		echo (++$a)."\n";
		
		$a = "z";
		echo (++$a)."\n";
		
		$a = "spaz";
		echo (++$a)."\n";
		
		$a = "K9";
		echo (++$a)."\n";
		
		$a = "42";
		echo (++$a)."\n";
		
		$a = true;
		var_dump(++$a);
		$a = true;
		var_dump(--$a);
		
		$a = false;
		var_dump(++$a);
		$a = false;
		var_dump(--$a);
		
		$a = NULL;
		var_dump(++$a);
		$a = NULL;
		var_dump(--$a);
    ?>

运行结果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值