- Parci: Milyen mosógépet vegyek?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- MasterDeeJay: Noname 1TB-os SATA SSD teszt
- Luck Dragon: Asszociációs játék. :)
- erkxt: A Roidmi becsődölt – és senki nem szól egy szót sem?
- Elektromos rásegítésű kerékpárok
- Jack Hunter: Kínai erősítő vásárlási tippek
- sziku69: Fűzzük össze a szavakat :)
- hcl: MS Office365 Linuxon
- Gurulunk, WAZE?!
Új hozzászólás Aktív témák
-
cucka
addikt
válasz
#68216320 #12696 üzenetére
Hogy világos legyen az empty és az isset közötti különbség:
A következő két feltétel ekvivalens, leszámítva egy notice-t:
isset($v)
$v !== null
Tehát az isset true-val fog visszatérni bármilyen változóra, ami nem létezik, vagy létezik és a típusa/értéke null. Jól látható, hogy a neve ellenére az isset()-nek valójában semmi köze ahhoz, hogy egy változó (vagy tömb index) definiált-e vagy sem. (Ennek eldöntésére a get_defined_vars() való).
Az isset() abban az esetben működik biztonságosan, ha soha, semmilyen körülmények között nem használod a null értéket egyetlen változódnál sem. Felhasználó által post-olt űrlapok esetén ez alapból adott, mert minden értéked a tömbben string vagy array típusú, a kód többi részében viszont a te feladatod ezt biztosítani.És a következő két sor szintén ekvivalens
empty($v)
!isset($v) || $v != true
Az empty() az ekvivalens feltétel második fele miatt problémás. Itt a != operátort látod, ami azt jelenti, hogy a php itt a $v értékét előbb át fogja cast-olni bool típusúra. Ezért van az, hogy a "", "0", "0.0" stringekre az empty egyaránt igazzal fog visszatérni. A gyarkolatban ebből az következik, hogy az empty() teljesen alkalmatlan bármire, visszatérési értékének semmi köze ahhoz, hogy "üres"-e a változó értéke vagy sem. Javaslom, soha, semmilyen körülmények között ne használd az empty()-t, ez egész egyszerűen egy rosszul kitalált nyelvi elem a php-ban.(Egyébként is, a php-ban az == és != operátorok nem tranzitívak, ez elég ok ahhoz, hogy kerülendők legyenek. Helyette javasolt a === és !==, illetve úgy megírni a kódot, hogy tisztában legyél vele, melyik változód milyen típusú.)
Ez így nagyjából érthető?
Új hozzászólás Aktív témák
- Battlefield 2042
- Parci: Milyen mosógépet vegyek?
- BIOS frissítés
- OLED TV topic
- Végleg leállnak az Anthem szerverei
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Léghűtés topik
- Átlépi végre az iPhone az 5000 mAh-t?
- AMD Navi Radeon™ RX 9xxx sorozat
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- További aktív témák...
- DDR5 GAMER: Új RYZEN 7 8700F/9700X/9800X3D +RX 6600/6700XT/6800/9060XT +Új 16-64GB DDR5! GAR/SZÁMLA!
- EliteBook 640 G11 14" FHD+ IPS Ultra 5 125U 16GB 512GB NVMe ujjlolv IR kam gar
- Csere-Beszámítás! Asus Rog Thor II 1200W 80+ Platinum tápegység! Olvass!
- Prémium! Felsőkategória! Asus Rog Strix Maximus Z790 Hero Wi-fi Alaplap!
- iPhone 11 Product RED Független 64GB
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest