Variablen: Überschreiben vs if / else [geschlossen]

8

Dies ist eine PHP-Frage, ist aber wahrscheinlich auf andere Sprachen anwendbar.

Was ist eine bessere Möglichkeit, Variablenzuweisungen zu behandeln?

%Vor%

Ich bin immer neugierig darauf, wie Software auf den niedrigsten Ebenen funktioniert.

    
Chris Ullyott 25.05.2016, 05:09
quelle

5 Antworten

7

Ich würde den ersten verwenden, weil dadurch ein Prozess entfernt wird. Auch ist es sauberer als das zweite:

%Vor%

Oder

%Vor%

Der obige Code ist sogar sauberer als mein # 1 Beispiel.

    
Majid Abbasi 25.05.2016, 05:13
quelle
2

Die zweite Option ist tatsächlich etwas schneller, da sie nur eine Variablenzuweisung durchführt, wenn $var_two zu true auswertet, während die niedrigeren Sprungoperationen in beiden Fällen vergleichbar sind.

Seien Sie vorsichtig, wie Bedingungen wie if ($var2) bewertet werden, da es viele Fälle gibt, die Sie möglicherweise nicht mit false meinen. Das PHP-Handbuch hat eine großartige Seite , um das zu verdeutlichen.

    
Julie Pelletier 25.05.2016 05:27
quelle
2

Ich bevorzuge die zweite

%Vor%

Ich denke, dass es lesbarer ist und CPU-Verbraucher weniger belastet, weil zu jedem Zeitpunkt nur eine Zuweisung ausgeführt wird. Aber in der ersten, wenn das if ist, werden zwei Aufgaben ausgeführt.

    
Msf vtp 25.05.2016 05:21
quelle
1

Es hängt davon ab, auf welche Variable Sie zugreifen.

Wenn die Variable, auf die Sie zugreifen, vorbelegt ist, verwenden Sie das folgende Beispiel

%Vor%

Wenn Sie die Variable auf derselben Seite definieren müssen, dann

%Vor%     
JiteshNK 25.05.2016 05:20
quelle
1

Beide Möglichkeiten, die Sie definieren, sind gültig und gut. Eine weitere Möglichkeit, dies zu tun, ist ternary operator .

Hier überschreiben Sie die zugewiesene Variable mit einem anderen 'y' in Abhängigkeit von $var_two

%Vor%

Verwenden Sie complete if / else, hier vergeben Sie einen Wert an $var_one in Abhängigkeit von $var_two .

%Vor%

Wie bereits erwähnt, können Sie dies mit ternary operator tun, siehe Beispiel überschreiben . die vorhandene Variable.

%Vor%

erneut, Zuweisung Variablen mit neuen Werten.

%Vor%
  

Hinweis: Es hängt vom Code ab, was ich dort miteinander vergleichen muss   Es gibt zwei Arten, eine ist Aufgabe und eine andere ist Override, ich muss   bevorzugen Sie ternary operator , wenn weniger Komplexität, entweder die gerade   Weiterleitungen if.....else .

    
Frayne Konok 25.05.2016 05:41
quelle

Tags und Links