- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Lopakodva befutott a Radeon RX 9060
- Projektor topic
- Milyen billentyűzetet vegyek?
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Milyen TV-t vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Home server / házi szerver építése
- Kormányok / autós szimulátorok topikja
Ú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
- iPhone 13 Pro Max / 128GB / Gold / Gyári kártyafüggetlen (243)
- Zbook 14 Firefly G10 I7 1370P/L14 /T14 G1/T490/T495/Hp 840 G6 I5/830 G6 I7/745 Ryzen 3 Dell X1 yogaH
- Dell Latitude 7440 -14"FHD+1 IPS - i5-1345U 16GB - 512GB - Win11 - 1 év garancia + Dokkoló + 240W DC
- A.R.E.S. L50 hangsugárzó pár
- IPhone 16 Pro max 256GB gyári független 2026.02.26. Apple jótállás
- HIBÁTLAN iPhone 13 mini 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3050, 96% Akkumulátor
- Lenovo, Dell, HP, Panasonic Getac Surface üzleti és ütésálló katonai laptopok + Ipad 6-13. gen. gar
- Gamer PC - Számítógép! Csere-Beszámítás! I7 6700 / 32GB DDR4 / RTX 2060 / 256SSD+500GB HDD
- HIBÁTLAN iPhone 14 Pro Max 256GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3011
- BESZÁMÍTÁS! ASUS VS228DE FHD TN 5ms monitor garanciával hibátlan működéssel
Állásajánlatok
Cég: FOTC
Város: Budapest