Probleem met zoekfunctie
Dus gebruik bij controle en validatie
de volgende functies:
checkdate
ctype functies
preg functies
trim en de ordinaire vergelijking: == '' != '' === ''
is_array
array_key_exists
in_array
dan is voor iedereen duidelijk wat aan invoer wel en niet geldig is.
Noppes Homeland op 09/10/2010 21:27:08:
Indien je empty gelijk stelt aan `is leeg` dan dien je geen enkel karakter te discrimineren.
Dat maak jij er steeds van. Ik vind het jammer dat je steeds met hetzelfde verhaal komt en blijkbaar niet kunt uitleggen wat er nou zo nutteloos aan die function is. Zie de laatste regel van mijn vorige post.
Uiteraard is bij de datum een extra check wel handig.
Gewijzigd op 09/10/2010 21:40:19 door - SanThe -
Degene die de fucntie empty gelijk stellen aan `is leeg` of `leeg`, blijven jullie vooral maar te pas en te onpas de functie empty gebruiken, je loopt vanzelf wel een keer tegen de lamp.
En kom niet met een antwoord waarin isset is verwerkt, want die functies hebben voor de rest niks met elkaar van doen.
Aan de andere kant bestrijd ik dat het gebruik van empty() nutteloos is. Als je wilt controleren of een array waarden bevat, is empty daar juist heel geschikt voor!
Dit werkt prima, niet dan?
@SanThe: wat betreft de if-jes waar jij het over had, die zijn dus ook niet volledig correct. In het geval dat er een 0 als search string ingevuld zou worden, zou dit niet meegenomen worden in de op te bouwen query. Met andere woorden, het is niet mogelijk om te zoeken op strings waar een 0 in voorkomt...
@Blanche: Ik ben het geheel met je eens. Zowel je (Noppes) empty verhaal als je opmerking op mijn post. Echter verwacht ik niet dat een nul (0) in een van die $vars een zinnige zoekwaarde zal zijn. Vandaar dat ik empty okee vind en de nul gewoon skip.
isset voldoet evenmin aan wat hij zegt.
Zodra een variabele null is, dat zeg hij dat de variabele niet is gezet, dus dan is isset in vergelijking niks beter.
Dat het gevaarlijk is á fin, maar het zijn beide geen nutteloze functies.
Maar dat je empty niet moet gebruiken, slaat gewoon volledig nergens op, vooral als je een klein beetje heb nagedacht over de verwachte input.
hier toch ook al behandeld.
Ach, dat hele empty gedoe is Empty(): Returns FALSE if var has a non-empty and non-zero value.
The following things are considered to be empty:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
* "" (an empty string)
* 0 (0 as an integer)
* "0" (0 as a string)
* NULL
* FALSE
* array() (an empty array)
* var $var; (a variable declared, but without a value in a class)
* 0 (0 as an integer)
* "0" (0 as a string)
* NULL
* FALSE
* array() (an empty array)
* var $var; (a variable declared, but without a value in a class)
Sorry, Noppes, maar ik weet niet waar de afkeer van deze betreffende functie vandaan komt.
Quote:
En je gaat ook geen overbodige variabelen aanmaken. De `overbodige variabelen` die jij nu aanmaakt kan je alleen maar gebruiken bij je SQL statements.
Verder, kan je omtrent de 'leesbaarheid' van je code, beter 4 extra variabelen aanmaken, en je 'INPUT' variabelen en 'gemanipuleerde' variabelen splitsen, in plaats van 'bijna alles afvangen' en er per ongeluk één tussendoor laten slippen.
Vergis je niet, die extra tijd aan rekenkracht voor die extra variabele, weegt na een miljard keer uitgevoerd te zijn, niet op, tegen het aantal minuten dat je bezig bent met uitpluizen van je code.
Pieter, misschien kan je beter in dat topic waar ik naar verwijs kijken?