- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Lalikiraly: Mercis kalandok - Huszonnyolcadik rész - Az újrakezdés
- Navaren: Resident Evil Requiem szösszenet
- sziku69: Szólánc.
- Parci: Milyen mosógépet vegyek?
- Lalikiraly: Commodore The C64, Ultimate
- Luck Dragon: Óraátállítás
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Luck Dragon: MárkaLánc
Ú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
- HP EliteBook 640 G10 - 14" FullHD IPS - i5-1335U - 8GB - 512GB - Win11 - 1 év garancia - MAGYAR
- AKCIÓ! 2TB Samsung 990 PRO NVMe SSD meghajtó garanciával hibátlan működéssel
- LG 39GX90SA - 39" Ívelt Smart OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / FreeSync
- Bomba ár! Lenovo ThinkPad Yoga L390 - i5-G8 I 8GB I 256GB SSD I 13,3" FHD Touch I W11 I Cam I Gari
- eShark Karuta Gaming Egérpad - XL eladó 90cmx40cm
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

