- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Klaus Duran: Youtube AI szinkron
- GoodSpeed: AMD Ryzen 9 9900X (100-100000662WOF)+ Samsung 990 PRO 2TB MZ-V9P2T0BW
- Gurulunk, WAZE?!
- koxx: Bloons TD5 - Tower Defense játék
- D1Rect: Nagy "hülyétkapokazapróktól" topik
Hirdetés
Ú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
- Xiaomi Redmi Note 13 Pro 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- szinte új iPad 2022 (10. generációs) Wi Fi 64GB silver ezüst Apple garancia
- új aktiválatlan Apple Watch Series 9 GPS 41mm csillagfény alumíniumtok 1 év Apple garancia
- szinte új iPad Pro 11" (4. generációs) (2022) M2 chip Wi-Fi + Cellular 128GB silver ezüst
- új bontatlan iPhone 16 Pro 128GB natural titanium natúr titán független Apple 1 év garancia
- LG 27GP95RP - 27" Nano IPS - UHD 4K - 160Hz 1ms - NVIDIA G-Sync - FreeSync Premium PRO - HDR 600
- BLUESUMMERS NVMe SSD adapter
- HP ZBook Studio 8 WorkStation i7-11850H 16GB 512GB Nvidia Quadro T1200 15.6" FHD IPS 1 év garancia
- HP 15 Zbook Studio G8 FHD IPS i7-11850H vPro 32GB 512GB SSD Nvidia A2000 Studio Win11 Pro Garancia
- Telefon felvásárlás!! Samsung Galaxy A70/Samsung Galaxy A71/Samsung Galaxy A72
Állásajánlatok
Cég: FOTC
Város: Budapest