- weiss: Pant* rant
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- LordAthis: Ismét egy "Idióta" A.I. Projekt, hogy meglovagolja a trendeket...
- gban: Ingyen kellene, de tegnapra
- Gurulunk, WAZE?!
- Mr Dini: Mindent a StreamSharkról!
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- hcl: Vízóra :D (okosóra számlap)
- Elektromos rásegítésű kerékpárok
- sziku69: Fűzzük össze a szavakat :)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
foreach($previous as $previous){
foreach($current as $current){
foreach($next as $next){
A lényeget cucka már leírta, de nekem a fentiektől nyílt ki legjobban az agyam.Nem is tudom, ez működik-e így egyáltalán, bár valószínűnek tartom, hogy inkább nem, és felmerül, hogy felül is írja a változót...
De ezek szerint a foreach használatának logikája sem jött át, vagy nem vágom, ilyet miért toltál be a kódodba.Példa jó használatra:
foreach($ezatömböd as $ezazaktuáliskulcs => $ezazaktuálisérték){
}
vagy csak
foreach($ezatömböd as $ezazaktuálisérték){
}
De ne legyen már ugyanaz a neve a tömbnek és az aktuális értéknek...(#10461) Soak : annyira rondán van indentálva a kódod, hogy őszintén szólva nem sok kedvem van a végignézésére.
Mit használsz PHP-fejlesztésre? Csomó IDE-ben van automatikus formázás, pl. NetBeans-ben Alt+Shift+F.
DW: [link].=========
(#10458) cucka :
"Az empty() nyelvi elemet (figyelem, ez nem függvény) érdemes elkerülni"
Szerintem nem kell kerülni, tudni kell, hol indokolt a használata.
Akár debuggolásra is jól jöhet.
És/vagy ha az ember számíthat NULL, 0 vagy false értékekre is valamilyen oknál fogva.
Persze mielőtt mondanád, azzal egyetértek, hogy jobb szigorú szabályokhoz kötni, adott függvények/metódusok mivel térhetnek vissza, de előfordulhat olyan eset, hogy nem vagy biztos benne, milyen jellegű típus várható az empty()-nek megfelelőek közül, és nincs kedved típusonként ellenőrizni.
Persze a konkrét esetben valóban nem indokolt, de általános értelemben szerintem nem feltétlenül igaz, hogy kerülni kell. -
cucka
addikt
Elnézést, ha belepofázok, de jól láthatóan nem értetted meg az OOP lényegét:
- Az osztályod statikus függvényeket tartalmaz, ami azt jelenti, hogy nem csináltál mást, mint egy névteret globális függvényeknek.
- A függvényeid globális változókat változtatnak, ahelyett, hogy rendes (matematikai) függvényként működnének: a függvény kap n darab bemeneti paramétert, ami alaján kiszámolja az eredményt. Ennyit csinál, nem többet. Nem módosítja a paramétereit. Nem nyúl ki a globális névtérbe. Sőt, igyekezni kell mellékhatás-mentesre csinálni (nyilván sokszor elkerülhetetlen).A fentiek miatt elkerülheted a rengeteg global deklarációt.
Továbbá itt van ez a kódrészlet:
$previous = self::find_previous($id, $users_id);
...
foreach($previous as $previous){
global $previous_pic_id;
$previous_pic_id = $previous->id;
}
- Ciklusban deklarálod a globál változót, biztos ami biztos?
- A foreach-ben érdemes kerülni a névütközést.
- A ciklusod annyit csinál, hogy végigmegy a previous tömbön, majd az utolsó elemnek eltárolja az id-ját egy globális változóba. Minek ehhez végigmenni a previous tömbön?
- Ha a previous tömb utolsó elemére van csak szükséged, miért nem azt adja vissza a függvényed?
- Mi van, ha az első képen állsz és nincs previous? Nem kezeled le az esetet, kiírsz egy üres stringet bele a html-be.
- Ugyanez a foreach megismétlődik a $current változónál, ami viszont nyilvánvalóan nem egy tömb, mert egy aktuális elem van. Ott mi szükség rá? (Vagy mégis tömb? A kódból nem derül ki, és ez nagy baj)Még:
- A $_GET['p'] értékét háromszor escape-eled ki, amíg bekerül az adatbázisba. Ha valóban van az értékben egy olyan karakter, amit ki kell escape-elni, akkor a kódod nem fog működni.
- Az empty() nyelvi elemet (figyelem, ez nem függvény) érdemes elkerülni, jól meg tudod sz*patni magad vele.
- Mivel a php-ban nem látod, hogy melyik változó milyen típusú, érdemes beszédesebb neveket adni - például ami tömb, az többes szám, vagy a függvény paramétereknél $id helyett $pic_id - így nem kell nyomozni, ha fél év múlva tovább akarod fejleszteni a kódodat, akkor el is fogod tudni olvasni
Új hozzászólás Aktív témák
- Gmail
- The Division 2 (PC, XO, PS4)
- Autós topik látogatók beszélgetős, offolós topikja
- Mozilla Firefox
- Lakáshitel, lakásvásárlás
- Iszonyatos mennyiségű hulladékkal járhat a Windows 10 terméktámogatásának vége
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- BestBuy ruhás topik
- Autós topik
- Kerékpársportok
- További aktív témák...
- LG UltraGear 34GS95QE-B OLED Monitor! 3440x1440 / 240Hz / 0.03ms / FreeSync / G-Sync! BeszámítOK
- ThinkPad T490 14" FHD IPS i5-8365U 16GB 256GB NVMe magyar bill ujjolv új akku gar
- ZOTAC RTX 3090 Ti AMP Extreme Holo
- Eladó Beyerdynamic DT 990 Pro 250 Ω stúdió fejhallgató
- ÚJ! Intel Core Ultra 9 285K 24-Core 3.7GHz LGA1851
- Új! Számla + 1-3ÉV Gari! Áfás! Gamer PC - Számítógép! R5 9600X / RX 9070XT / 32GB DDR5 / 1TB SSD M.2
- AKCIÓ! MSI Z77 MPOWER Z77 chipset alaplap garanciával hibátlan működéssel
- LG 65B4 - 65" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- LG 55G2 - 55" OLED evo - 4K 120Hz 1ms - 1100 Nits - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1
- Bomba ár! Dell Latitude E6530 - i5-3GEN I 4GB I 500GB I HDMI I 15,6" HD+ I W10 I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest