2017-08-08 5 views
-4

次のifステートメントに値が渡されないため、以下を実行できませんができません。入れ子式のif()ステートメントで変数値を渡します。

if(something){ 
    $x=SomeValue; 
    if(something){ 
     $y=SomeValue; 
     if($x==$y){ 
     echo"x & y matches"; 
     } 
    } 
} 

私はまた、それぞれのif文で$GLOBALSを試みたが、まだ動作しません。

はどのようにして第三if()声明

実際のコードに$x & $yの値を渡すん

PHPで
if($i%2) { 
     $dx1 = $row['sec1']; 
     echo $dx1; 
     if($i%2==0){ 
      $dx2 = $row['sec2']; 
      echo $dx2; 
      if($dx1==$dx2){echo $dx1." do not match ".$dx2;} 
     } 
    } 
} 
+1

条件(あなたのコードでは「何か」)は何ですか?あなたの問題がどこにあるかのように聞こえます。 – Qirel

+0

あなたは間違ったことをする必要があります。 $ xと$ yに設定した値は、コード全体で絶対に利用できます。たぶんこれの代わりに実際のコードを見せてくれるのでしょうか? –

+0

@Qirel条件は何でもかまいません。「エコー」が満たされているかどうかを確認できます – X10nD

答えて

4

が "空"」と見なされないいずれかの値真実 ";整数の場合は0が偽であることを意味し、それ以外はすべて真です。従ってif($i%2)if($i % 2 != 0)と同じ意味です。

後で、実際には正反対あるifその類似探しの条件、if($i%2==0)、内部の巣。内部ifに到達するには、最初に外側ifに入っている必要があります。したがって、最も内側のコードに到達するには、両方の条件が真である必要があります。

あなたが言うように、条件は "$ iが奇数です"と "$ iが偶数です"と同じです。最初のifステートメントに入るには、$iは奇数でなければなりません。第二に入るためには、でなければならない。 $iという値は両方の条件を満たすことはないため、最も内側のコードには決して到達しません。

+0

if()fireのいずれかが$ dx1または$ dx2のいずれかが3番目のifでエコーしなければならない場合は? – X10nD

+1

@ X10nDいいえ、最初の 'if'がtrueに評価されない限り、2番目の' if'に到達することはできません。 '$ i'が偶数の場合、コードブロック全体は最初の' if'によってスキップされます。 – IMSoP

関連する問題