2009-12-18 5 views
0

Je donne les résultats suivants si la déclarationinstruction IF avec ET OU ainsi que les opérateurs PHP

if (isset($part->disposition) and ($part->disposition=='attachment')) 

problème est la deuxième partie de cette déclaration, j'ai besoin également d'inclure cette; L'instruction doit fonctionner si la disposition est en pièce jointe ou si elle est en ligne.

+0

ne pouvait pas comprendre votre question :( – Sarfraz

Répondre

3

ne pas que le travail:

if (isset($part->disposition) and (($part->disposition=='attachment') or ($part->disposition=='inline'))) 
+0

Cela a fonctionné et a été d'abord si vous obtenez gagner. Merci à tous pour l'aide rapide et les méthodes! – mrpatg

6

Cela doit aider:

if (isset($part->disposition) && ($part->disposition=='attachment' || $part->disposition=='inline')) 
+1

diff +1 pour une utilisation plus efficace des parens – Kitson

+0

@Kitson est mon habitude d'écrire code propre, facile à comprendre pour les autres, avec indentation correcte, espacement des lignes, utilisation correcte des accolades, des supports, etc. :) – Sarfraz

2

Cet essai (efficacité):

if (isset($part->disposition)) 
{ 
    if($part->disposition=='attachment' || $part->disposition=='inline') 
    { 
     // perform task 
    } 
} 
+3

Pourquoi est-ce plus efficace? La deuxième affirmation ne sera-t-elle pas ignorée si la première est fausse - quand elle est mise en place - et donc aussi efficace? – stiank81

+5

Ce n'est pas plus efficace, mais plus lisible et maintenable. – DanDan

3

Si vous allez peut-être Pour avoir plus de deux options à l'avenir, vous pourriez également être intéressé par in_array(needle, haystack)

if (
    isset($part->disposition) 
    && in_array($part->disposition, array('attachment', 'inline', 'option3', 'option4')) 
) 

Si vous voulez l'équivalent de === (comparaison stricte, au lieu de == comme dans votre exemple) définir le troisième paramètre de in_array() à true.

+0

+1 merci pour le pourboire! – mrpatg