Beste Tweakers,
Misschien kunnen jullie mij helpen met het volgende vraagstuk. Ik combineer graag if-statements in PHP zodat ik niet onnodig met accolades hoef de smijten. Echter vraag ik mij af of de volledige if-statement wordt gelezen/uitgevoerd wanneer de eerste voorwaarde al false is. Denk bijvoorbeeld aan het volgende:
Nu is mijn vraag als volgt. Bij de if-statements in beide mogelijkheden wordt er eerst gekeken of $variabele2 = true. Wanneer deze false is, wordt TelAantalGebruikers() dan nog aangeroepen? Is PHP "slim" genoeg om te weten dat het tweede statement al niet meer meeteld omdat de eerste al false is en het && moet zijn?
Ik hoop dat jullie mij kunnen volgen. Ik zou dit graag zeker willen weten omdat dit natuurlijk een hoop performanche kan schelen.
Alvast bedankt!
Misschien kunnen jullie mij helpen met het volgende vraagstuk. Ik combineer graag if-statements in PHP zodat ik niet onnodig met accolades hoef de smijten. Echter vraag ik mij af of de volledige if-statement wordt gelezen/uitgevoerd wanneer de eerste voorwaarde al false is. Denk bijvoorbeeld aan het volgende:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| // (Variabele 1) function TelAantalGebruikers() { // Opvragen d.m.v. sql-query en geef terug als integer } // (Variabele 2) $variabele2 = false; // Mogelijkheid 1 if ($variabele2 && TelAantalGebruikers() > 10) { return true; } else { return false; } // Mogelijkheid 2 return ($variabele2 && TelAantalGebruikers() > 10); |
Nu is mijn vraag als volgt. Bij de if-statements in beide mogelijkheden wordt er eerst gekeken of $variabele2 = true. Wanneer deze false is, wordt TelAantalGebruikers() dan nog aangeroepen? Is PHP "slim" genoeg om te weten dat het tweede statement al niet meer meeteld omdat de eerste al false is en het && moet zijn?
Ik hoop dat jullie mij kunnen volgen. Ik zou dit graag zeker willen weten omdat dit natuurlijk een hoop performanche kan schelen.
Alvast bedankt!
[ Voor 3% gewijzigd door Exception op 13-08-2013 21:18 ]