php && = 运算符优先级面试题

该案例主要考验咱们的运算符优先级的问题:php

++  --html

 *  /  %code

 + -htm

 < <= > >=class

 == != === !==co

&  |运算符

&&  ||

? :

=  +=  -=  *=  %=

<?php
	$a = 3;
	$b = 5;
	if($a=3 && $b=4){
		$a+=$1;
		$b+=1;
		echo $a;  //结果为2
		echo '<br/>';
		echo $b;  //结果为5
	}	
?>

代码分析:
1. 在if语句中的$a=3 和 $b=4 都是赋值语句;
2. && 与运算符号的优先级要高于赋值运算符=;
3. 因此$a=3 && $b=4 能够改写为 $a=(3&&$b=4); //结果为true
4. 因此$a=$a+1 -->1+1=2
5. 因此$b=$b+1 -->4+1=5
相关文章
相关标签/搜索