【小白笔记】PHP学习之路 (5) --运算符

PHP中的运算符类型:

1.算术运算符

2.递增/递减运算符

3.比较运算符

4.逻辑运算符

5.位运算符

6.其他运算符

算术运算符:无非加减乘除,不多说。

递增/递减运算符:跟python一样,$a++、++$a、$a--、--$a。

比较运算符:>、<、>=、<=、<>、!=、==、!==、===。

逻辑运算符:&&and(逻辑且)||or(逻辑或)!not(逻辑非)、xor(逻辑异或,当左

右表达式有且仅有一个为真是是TRUE,其他情况均为假)

位运算符(位运算进行的运算都是对于补码的运算):

1:&     按位与    有一位为0即为0。左右两边的数,同位都为1返回1,否则返回0
2: |     按位或     有一位为1即为1。只有当同位都为0时返回0,否则返回1
3:^     按位异或      相同为假,不同为真。只有当同位不同时返回1,否则返回0
4:~     按位非(取反) 将位中的0变为1,1变为0
位移运算符:
5:<<    左移   将左边数的二进制左移右边数指定数量的位,右边空位补0
6:>>    右移   将左边数的二进制右移右边数指定数量的位,左边空位补0

示例:

";
	echo $b."  ".base_convert($b, 10, 2);
	echo "
----------------------
"; echo "按位与: ",$a & $b,"  ", decbin($a&$b), "
"; echo "按位或: ",$a | $b,"  ", decbin($a|$b), "
"; echo "按位异或: ",$a ^ $b,"  ", decbin($a^$b), "
"; echo "按位非: ",~$a,"  ", decbin(~$a), "
"; echo "左移一位: ",$a << 1,"  ", decbin($a<<1), "
"; echo "右移一位: ",$a >> 1,"  ", decbin($a>>1), "
"; ?>

结果:

5  101
6  110
----------------------
按位与: 4  100
按位或: 7  111
按位异或: 3  11
按位非: -6  11111111111111111111111111111010
左移一位: 10  1010
右移一位: 2  10


连接运算符

     .  连接两个参数生成新的字符串
     .=  把右边的值追加到左边的变量

赋值运算符

     =  把右边值赋给左边变量

禁止显示警告信息

     @   函数、变量、常量前来禁止显示警告信息,不可以放在条件语句结构中。一般放在有返回值的地方

三元表达式

     表达式1?表达式2:表达式3  若表达式1成立则返回表达式2,反之返回表达式3

例:

	$str1 = "google chrome";
	$rm = "bbs.rainmeter.cn";
	$str2 = "

".$str1.$rm."

"."-----------
"; //全部拼在一起就是结果 echo $str2; echo $str1.=" addedplus"; //结果:google chrome addedplus echo '--------------------------------'; $a = 1; $a .= 2; echo $a; //此处发生类型转换,结果当然是字符串12 echo '--------------------------------'; $file_name = "helo.txt"; //此处故意将hello.txt打错 $file = @fopen($file_name, 'r'); //可以将warning信息屏蔽,但错误依然存在,开发阶段不建议这样做 $content = fread($file, filesize($file_name)); echo $content; //warning报错 echo '--------------------------------'; $t = 0; $msg = $t>0 ? 't大于0' : 't不大于0'; $uname = isset($_GET['uname'])?$_GET['uname']:'未被定义'; echo $uname; //$uname之前未被定义,因此结果为字符串

运算符的短路

&&   ||   存在短路特性
&     |    不存在短路


利用运算符的短路,可以简便地完成一些判断结构:

	$file = @fopen('hello.txt', 'r') or die('文件不存在,a.txt必须存在'); //@屏蔽错误消息

如果文件存在,就将其打开;如果不存在,就显示错误消息并终止脚本运行(这里的die函数作用是输出消息并终止脚本)。

简单例子:

'123456', 'tt'=>'555', 'sina'=>'888','bbs'=>'999');
	$uname = isset($_POST['uname'])?$_POST['uname']:'';
	$upwd = isset($_POST['upwd'])?$_POST['upwd']:'';
	if(in_array($uname,$user_arr)){
		if($upwd == $upwd_arr[$uname]){
			echo '登录成功,现在转入后台操作页面……';
			$ok = true;
		}else{
			echo('密码错误');
		}
	}else{
		echo('用户名不存在');
	}
?>

	
		Login
		
	

		
用户名:
密码:


以上均为个人理解,初学php,如果有不对的地方,欢迎大家指正!

你可能感兴趣的:(PHP学习)