2009-08-15 10 views
-4

En PHP, est la logique suivante a permisPHP logique conditionnelle

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

Fondamentalement, vous êtes autorisé à utiliser plus d'un elseif?

+9

Pourquoi ne pourriez-vous tester tout cela? – jkeys

Répondre

2

yup

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

n'oubliez pas votre $ et == – Moak

+1

Je signale également que vous utilisez un opérateur d'affectation (=) et non un contrôle de comparaison (==). –

11

Oui:

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

Un autre format utile pour les fichiers HTML

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

L'espace entre else et if n'est pas nécessaire en PHP - il existe une instruction elseif control. –

+2

tomato/tomatoe;) juste plus habitué à écrire 'else if' – gnarf

+0

+1 pour avoir passé du temps à répondre à cette question –

2

Oui, bien que si le test est simple ($a == $b), utilisez un commutateur au lieu :

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

Vous pouvez utiliser

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 
} 

et

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