login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Variabel Menu (Opgelost)

Offline Muzaru - 26/03/2007 15:54 (laatste wijziging 26/03/2007 16:06)
Avatar van MuzaruNieuw lid he jongens, het gaat meer om een performance vraag dan hoe iets werkt (want het werkt allebei ):
ik heb een zoek menu waarin 3 sleutels ingevoerd kunnen worden. of een sleutel ingevoerd wordt of niet, is variabel. het script haalt de strings (die ingevoerd zijn) op en vergelijkt die met informatie uit de database.
nou heb ik hier 2 oplossingen voor:
(ervan uitgaande dat alle 3 ingevuld zijn)
1. (binnen for-loop)
  1. if (isset ($name) && isset($priceClass) && isset ($kitchenType)) {
  2. if ($posName = strpos($searchContent[$i]['introText'],$name)
  3. && $posPriceClass = strpos($searchContent[$i]['introText'],$priceClass)
  4. && $posKitchenType = strpos($searchContent[$i]['introText'],$kitchenType)) {
  5. //doe er wat mee
  6. } }

het komt erop neer dat dus voor iedere mogelijkheid een eigen zoekfunctie is. het php bestand op deze manier is 13kb (er staat natuurlijk nog meer in dan alleen deze zoek funtie)
2. (binnen for-loop)
  1. if (strpos($searchContent[$i]['introText'],$name)) {
  2. $booleanArray[$i]['name'] = true; }
  3. if (strpos($searchContent[$i]['introText'],$priceClass) {
  4. $booleanArray[$i]['price'] = true; }
  5. if (strpos($searchContent[$i]['introText'],$kitchenType) {
  6. $booleanArray[$i]['kitchen'] = true; }

hier komt het erop neer dat hij gewoon alles checked en in multi-D array zet of hij het gevonden heeft of niet (dmv boolean). als check gebruikt ie dan: (binnen for-loop)
  1. if ($booleanArray[$i]['name'] == true
  2. && $booleanArray[$i]['price'] == true
  3. && $booleanArray[$i]['kitchen'] == true) {
  4. //doe er wat mee }

op deze manier is het bestand 12kb .

nou is mijn vraag of jullie een idee hebben wat beter zou zijn om te gebruiken kwa performance (of het een meer resources gebruikt dan het ander) en alles jullie een beter idee hebben, hoor dat natuurlijk graag 

groetjes

2 antwoorden

Gesponsorde links
Offline Ibrahim - 26/03/2007 17:22 (laatste wijziging 26/03/2007 17:24)
Avatar van Ibrahim PHP expert je kunt ook zoeken in een array met PHP.net: in_array of als het keys zijn PHP.net: array_key_exists, zo hoef je helemaal geen for loop te gebruiken

Ik kan het mis hebben en gebruik je misschien strings:?:, want je script is niet bepaald netjes 

en booleans check je met 3 =-tekens
Offline ikkedikke - 26/03/2007 23:09
Avatar van ikkedikke PHP expert die booleans maakt niet uit. Je moet alleen drie =tekens gebruiken wanneer je OOK wil checken of het een bool is. anders scheelt het je een controle.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.263s