- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Xiaomi Smart Band 8 - folyamatosan
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Apple iPhone 16 Pro - rutinvizsga
- Samsung Galaxy S23 FE - nincsen sárkány
- Huawei P40 Pro - kilökték a célegyenesben
- Samsung Galaxy Watch5 Pro - kerek, de nem tekerek
- Android alkalmazások - szoftver kibeszélő topik
- Bemutatkozott a Poco X7 és X7 Pro
- Google Pixel topik
Ú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
- Kerékpárosok, bringások ide!
- GoodSpeed: Egy bihari a Hajdúságban
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- TCL LCD és LED TV-k
- Windows 11
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Xiaomi Smart Band 8 - folyamatosan
- Budapest és környéke adok-veszek-beszélgetek
- Formula-1
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- Eladó Oppo A78 5G 4/128GB / 12 hó jótállás
- MikroTik CCR1009-7G-1C-1S+ Cloud Router
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 12 Pro Max 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3109
- GYÖNYÖRŰ iPhone 13 mini 256GB Midnight -1 ÉV GARANCIA -Kártyafüggetlen, MS3622, 94% Akkumulátor
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest




