- Fejhallgató erősítő és DAC topik
- Milyen egeret válasszak?
- AMD Navi Radeon™ RX 9xxx sorozat
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Melyik tápegységet vegyem?
- Autós kamerák
- Amlogic S905, S912 processzoros készülékek
- Apple MacBook
- HiFi műszaki szemmel - sztereó hangrendszerek
- A Sony szerint a PlayStation 5 konzolokat még nem érinti a memóriahiány
Ú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
- Fejhallgató erősítő és DAC topik
- Milyen egeret válasszak?
- AMD Navi Radeon™ RX 9xxx sorozat
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Autós topik
- BMW topik
- Százmilliárd dolláros AI-fegyverkezésbe kezdett az Amazon és a Google
- World of Tanks - MMO
- Miskolc és környéke adok-veszek-beszélgetek
- Melyik tápegységet vegyem?
- További aktív témák...
- AMD Ryzen 7 7800X3D - Új, 3 év garancia - Eladó!
- 218 - Lenovo ThinkBook 16p (G5 IRX) - Intel Core i9-14900HX, RTX 4060
- Thinkpad P16 Gen2 16" FHD+ IPS i7-13700HX RTX A1000 32GB 1TB NVMe ujjlolv gar
- T490s 14" FHD IPS i5-8365U 16GB DDR4 256GB NVMe SSD ujjlolv IR kam új akku gar
- X1 Carbon 12th 14" FHD+ IPS érintő Ultra 7 155U 32GB 512GB NVMe ujjlolv IR kam gar
- BESZÁMÍTÁS! ASRock B650M R7 8700F 32GB DDR5 512GB SSD RX 6800XT 16GB Zalman Z1 PLUS CM 750W
- DELL Precision 3420 (SFF),i5-6600,8GB DDR4,128GB SSD,Nvidia Quadro K420 2GB VGA,WIN11
- HUAWEI Watch D2 okosóra
- LG 48C5 - 48" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen8 CPU
- HIBÁTLAN iPhone 12 mini 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3818
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs



