2016-06-01 21 views
-4

I haben folgende Funktionen:wenn Bedingung best practice

if(A==B) 
{ 
    //do stuff 
} 

if(C==B) 
{ 
    //do stuff 
} 

if(A==B) 
    { 
     //do stuff 
    } 
    else if(C==B) 
    { 
    //do stuff 
} 

Was ist der Unterschied zwischen diesen beiden? Ich habe die Bedeutung davon, aber ich habe gesehen, dass Programmierer den ersten anstelle des zweiten bevorzugen? Warum?

Ich persönlich bevorzuge die zweite.

+0

Wort? Hoffe, du machst Witze? –

+0

ok! Ich verstehe das? Das hat nichts mit der Frage zu tun! für Ihre freundlichen Informationen, ich werde es ändern –

+0

@ C0dekid beide sind die gleichen !!! –

Antwort

0

Das ist meist eine Frage der Präferenz. Ich sah viele Programmierer, die beide Fälle unabhängig von der tatsächlichen Funktion verwendeten.

Verwenden Sie den ersten Fall korrekt, wenn beide Bedingungen unbedingt geprüft werden sollen, der zweite als verschachtelte Bedingung.

Im ersten Fall werden beide ausgeführt, die es langsamer als die zweite macht, da es nur für die elseif überprüft, ob die if Bedingung falsch ist


$var = 1; 

if($var+1 ==2) 
{ 
    echo "test1"; 
} 

if($var-0==1) 
{ 
    echo "test2"; 
} 


if($var+1==2) 
{ 
    echo "test1"; 
} 
else if($var-0==1) 
{ 
    echo "test2"; 
} 

ausgeben wird

test1test2test1 

also, wir sehen, dass Nummer 2 ignoriert die EIFEF, die es schneller macht.

+0

Beide sind die gleichen: 2. Beispiel: Ich bin nicht Pause; oder halt es trotzdem –

+0

hat es irgendeinen Einfluss auf die Leistung? –

+0

Minimal, siehe bearbeiten – TechTreeDev

0

In der ersten Bedingung werden beide Anweisungen ausgeführt, weil sie unabhängig voneinander sind, so dass alle von ihnen getestet werden.

if(A==B) 
{ 
    //do stuff 
} 

if(C==B) 
{ 
    //do stuff 
} 

Auf dem zweiten else if wenn nur eine verschachtelte befindet sich in einer anderen, so dass nur ein Wille von ihnen getestet werden, wenn entweder oder elseif

if(A==B) 
{ 
    //do stuff 
} 
else if(C==B) 
{ 
    //do stuff 
} 
+0

Wenn 'A! = B' der Code innerhalb der if nicht ausgeführt wird, wird der Test durchgeführt. Jede Anweisung wird getestet, bis eine Auswertung als wahr/alle Bedingungen fehlgeschlagen ist – AUsr19532

0

nicht das gleiche.

sonst wenn (C == B) nicht ausgeführt wird (auch wenn C gleich B ist), wenn die erste Bedingung wahr war.

ohne „else“, nur wenn (C == B) wird selbst dann ausgeführt werden, wenn die erste Bedingung (in diesem Fall A zutraf == C :)

0

Wenn nur eine Variable gleich und muß Wenn Sie den gleichen Code ausführen, ist es besser, den ersten Code zu verwenden, damit die Leistung nicht beeinträchtigt wird. Aber wenn Sie abhängig von Ihrer Variablen einen anderen Code ausführen müssen, ist der zweite besser.