Nieuw 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)
if (isset ($name) && isset($priceClass) && isset ($kitchenType)) {
if ($posName = strpos($searchContent[$i]['introText'],$name)
&& $posPriceClass = strpos($searchContent[$i]['introText'],$priceClass)
&& $posKitchenType = strpos($searchContent[$i]['introText'],$kitchenType)) {
//doe er wat mee
} }
if ($posName = strpos($searchContent[$i]['introText'],$name) && $posPriceClass = strpos($searchContent[$i]['introText'],$priceClass) && $posKitchenType = strpos($searchContent[$i]['introText'],$kitchenType)) { //doe er wat mee } }
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)
if (strpos($searchContent[$i]['introText'],$name)) {
$booleanArray[$i]['name'] = true; }
if (strpos($searchContent[$i]['introText'],$priceClass) {
$booleanArray[$i]['price'] = true; }
if (strpos($searchContent[$i]['introText'],$kitchenType) {
$booleanArray[$i]['kitchen'] = true; }
if (strpos($searchContent[$i]['introText'],$name)) { $booleanArray[$i]['name'] = true; } if (strpos($searchContent[$i]['introText'],$priceClass) { $booleanArray[$i]['price'] = true; } if (strpos($searchContent[$i]['introText'],$kitchenType) { $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)
if ($booleanArray[$i]['name'] == true
&& $booleanArray[$i]['price'] == true
&& $booleanArray[$i]['kitchen'] == true) {
//doe er wat mee }
if ($booleanArray[$i]['name'] == true && $booleanArray[$i]['price'] == true && $booleanArray[$i]['kitchen'] == true) { //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
|