PHP, az édesanyád hétszentségit!

Ugye ez egy szemét nyelv. A legrosszabb fajtából. Persze ezzel is el lehet kódolgatni, csak ismerni a nyelvet. De úgy néz ki 10+ év PHP-zás után is találtam új hülyeséget. Nem akárhol. Na akkor kezdjük.

Inkonzisztencia:

FALSE == ""
FALSE == 0
FALSE == 0.0
FALSE == "0"
FALSE == NULL
FALSE == array()
FALSE == $nonextistent

Oké, ezt eddig is tudtuk, vicc, pl array() != 0 de NULL == "" stb. Oké, ez kivédhető, oda kell figyelni a típusokra, a nagyonegyenlő operátort kell használni mindenhol.

Nézzük a NULL-t. Ugye kétféle esetben szoktunk találkozni NULL értékkel:

1. Nem létező változó, aminek használatáért NOTICE vagy WARNING a jutalom
2. Konkrétan NULL értékre beállított változó.

Az utóbbi eset vizsgálható $var === NULL, ez faja. Az előbbihez viszont az isset($var) szükséges, különben hibát kapunk. Mekkmesterek persze az STFU operátort használják, így effektíve ugyanaz az eredmény, csak rövidebben, azaz: @$var === NULL De akinek van egy kis esze, az inkább nem csinál olyan helyzetet, ahol vizsgálni kell azt, hogy létezik-e egy változó.

Az isset másra is jó, mégpedig, hogy tömb kulcsa létezik-e, azaz isset($array['key']). Vagyis nem. Hisz ha tömb értke ott NULL, akkor hamis értéket kapunk, pedig létezik. Hát erre a feladatra ott a array_key_exists($array, 'key') Fantasztikus, ez már a NULL értéket is látja, ö'öm és bódottá'! Csak hát lassú szegény, ez így érdemes használni:

isset($array['key']) || array_key_exists($array, 'key')

Tömör gyönyör.

S akkor jön az empty() függvény. Ezt eddig arra használtam, hogy megvizsgáljam, hogy egy tömb üres-e. Na most, csak ma szembesültem a PHP dokumentációjában azzal, hogy ennek a függvény valójában mit csinál:

!isset($var) || $var == FALSE

Anyám borogass! :Y Soha többet nem használok empty()-t. Kiirtom minden kódomból. Ennek semmi értelme nincs. Effektíve elég lenne annyi írni csak feltételnek, hogy:

$var

Hirdetés

3 pénzügyi döntés, amit minden kisvállalkozónak érdemes átgondolnia az év végéig

PR Ahogy az év vége közeledik, itt az ideje, hogy egy pillanatra megálljunk és áttekintsük vállalkozásunk pénzügyi helyzetét. Ne hagyjuk, hogy az év utolsó hónapjai elússzanak a sürgető feladatok és elfeledett határidők között!

Még van hozzászólás! Tovább