[alg] Slechtste programmeervoorbeelden deel 2 Vorige deel Overzicht Volgende deel Laatste deel

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.

Pagina: 1 ... 10 11 Laatste
Acties:
  • 10.539 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

  • narotic
  • Registratie: Maart 2002
  • Laatst online: 02-11-2021
Anoniem: 140111 schreef op vrijdag 20 juli 2007 @ 17:09:
Even een brainfart:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public function CreateSaveObject()
    {
        $QueryBuilder = "INSERT INTO ". $this->Tabelnaam ." (";
        for($i = 0; $i < (sizeof($this->VeldenArray) - 1); $i++)
        {
            $QueryBuilder .= $this->VeldenArray[$i] .', ';
        }
        $QueryBuilder .= $this->VeldenArray[(sizeof($this->VeldenArray) - 1)];
        $QueryBuilder .= ') VALUES (';
        for($i = 0; $i < (sizeof($this->VeldenArray) - 1); $i++)
        {
            $QueryBuilder .= '\'".$this->'.$this->VeldenArray[$i].'."\', ';
        }
        $QueryBuilder .= '\'".$this->'.$this->VeldenArray[(sizeof($this->VeldenArray) - 1)].'."\')';
        
        echo $QueryBuilder;
    }

Net uit zitten poepen, leuk voor de volgende 8)7
De sizeof methode in PHP heeft complexiteit O(n), dus door deze elke keer aan te roepen versplil je de nodige CPU cycles. Over het algemeen kun je beter (qua performance dan iig...) de for-loops over arrays omschrijven naar:

PHP:
1
2
3
4
$arr = array(1,2,3);
for($i = 0, $s = sizeof($arr); $i < $s; $i++) {
  // do things on array
}


Een uitzondering is uiteraard als je binnen de loop elementen uit de array verwijdert. In jouw voorbeeld hierboven kun je beter in de method scope eenmalig de size in een variabele opslaan. Nog beter is de juiste PHP methodes gebruiken:

PS: Om te mierenneuken, leer je aan om de single quotes te gebruiken waar double quotes niet nodig zijn voor een string. In theorie zou dit efficienter moeten kunnen zijn (heb nog nooit getest eigenlijk...).

[ Voor 9% gewijzigd door narotic op 21-07-2007 15:56 ]

- = Step Into The Pit | Industrial Strength = -


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 01-05 10:36

NMe

Quia Ego Sic Dico.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1 ... 10 11 Laatste

Dit topic is gesloten.

Let op:
Uiteraard is het in dit topic niet de bedoeling dat andere users en/of topics aangehaald worden om ze voor gek te zetten. Lachen om je eigen code, of over dingen die je "wel eens tegengekomen bent" is prima, maar hou het onderling netjes. :)

Het is hier ook niet het "korte vraagjes" topic. Zie deze post