2009-08-15 18 views
-4

In PHP wird die folgende Logik erlaubtPHP Conditional Logic

If (x && y) 
    //Do A 
Elseif (x) 
    // Do B 
Elseif (y) 
    // Do C 
Else 
    // Do D 

Grundsätzlich sind Sie mehr als ein elseif verwenden?

+9

, warum dies nicht könnten Sie einfach testen? – jkeys

Antwort

2

yup

if(this == this && this == this){ 
    //this and that 
}else if(this == that || this == that){ 
    //this or that 
}else{ 
    //anything else 
} 
+1

Vergessen Sie nicht Ihre $ und == – Moak

+1

Ich werde auch darauf hinweisen, dass Sie einen Zuweisungsoperator (=) und keine Vergleichsprüfung (==) verwenden. –

11

Ja:

if ($x && $y) { 
    //Do A 
} else if ($x) { 
    // Do B 
} else if ($y) { 
    // Do C 
} else { 
    // Do D 
} 

Ein weiteres Format für HTML-Dateien nützlich

<?php if ($x && $y): ?> 
    Element A 
<?php elseif ($x): ?> 
    Element B 
<?php elseif ($y): ?> 
    Element C 
<?php else: ?> 
    Element D 
<?php endif;?> 
+0

Der Abstand zwischen else und if ist in PHP nicht notwendig - es gibt eine elseif-Steueranweisung. –

+2

Tomate/Tomatoe;) nur mehr gewohnt zu schreiben 'else if' – gnarf

+0

+1 für die tatsächliche Zeit zu dieser Frage zu beantworten –

2

Ja, obwohl, wenn der Test einfach ist ($a == $b), statt einen Schalter verwenden :

switch ($a) { 
    case $b: 
     break; 
    case $c: 
     break; 
    default: 
     //Like else 
    } 
2

können Sie

if($x) 
    // for one line of code 
elseif($y) 
    // also for one line of code 

if($x) { 
    // for more than 
    // one line of code 
} elseif($y) { 
    // also for multi- 
    // line codes 
} 

verwenden und

if($x): 
    // multi-line 
endif;