2016-08-21 77 views
0

为什么如果条件不符合,并且它在下面的php代码中打印else语句?这似乎很容易,但我确实做错了什么。请解释。提前致谢。操作&&在PHP条件语句中不能正常工作

<?php 
$pk = 6; 
$jk = 3; 
$lk = 5; 
$sk = 2; 

if((!$pk==5) && ($jk == 3) && ($lk == 5) && ($sk == 2)){ 
echo 'All variable is true'; 
} 

else{ 
    echo 'one of them is wrong'; 
} 
?> 
+2

它应该是'(!$ PK == 5)'不''($ PK == 5!)。 – Ekin

+2

'!$ pk == 5'先评估'!$ pk',然后比较 –

+0

简短但非常清楚。谢谢 – PramodJha

回答

1
if((!$pk==5) && ($jk == 3) && ($lk == 5) && ($sk == 2)){ 

应改为:

if(($pk!==5) && ($jk == 3) && ($lk == 5) && ($sk == 2)){ 

PHP documentation

$ A = $ B不等于TRUE,如果$ a不等于$ b型杂耍之后! 。

$ a!== $ b如果$ a不等于$ b,或者它们不是同一类型,则不完全相同。

+0

感谢您的详细解释! – PramodJha

+0

@PramodJha - 没问题。请标记为答案。 –

1

它应该是:

if(($pk==5)&& ($jk == 3) && ($lk == 5) && ($sk == 2)){ 
echo 'All variable is true'; 
}