php中if($a!=b)和if(!$a=b)的区别,其中b是函数表达式

来源:百度知道 编辑:UC知道 时间:2024/09/28 07:41:07
常在条件判断句中发现他们,他们有什么区别啊,最好举几个例子

if($a!=$b)表示判断变量$a、$b的值是否相等,如果不相等就执行后面的语句,其等效的语句为:
  if(! $a==$b)

  现在看语句if (!$a=$b),仔细看,它和上面的等效语句是有区别的,要少一个等号,此语句的功能是:先把变量$b的值赋予$a,然后判断$a的值的真假,如果为假就继续执行后面的语句。

  总结,两个语句的区别,第一个语句只判断、不改变任何值;第二个语句是先赋值在判断,要改变变量的值。

  此外,对b是函数表达的情况,函数后面必须要有括号,两个语句正确的书写形式应该为:
  if ($a!=b())
  if (! $a=b())

<?
function b(){
return 1;
}
$a = 1;
?>
$a!=b 是判断是否不相等 不相等 条件成立
!$a=b 是取反 $a=b返回true 前面家个!就变成false
再次申明 后者是取反

$a!=b是判断不相等
!$a=b是赋值再判断