Hirdetés
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Nem vénnek való vidék - Berettyóújfalu
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- eBay-es kütyük kis pénzért
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- Meggyi001: Több tucat Eiffel torony??? Igen, gyere, mutatom, hogy hol...
- Meggyi001: A kérdés...
- GoodSpeed: 3I/Atlas: Üstökös vagy idegen civilizáció űrhajója?
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
Új hozzászólás Aktív témák
-
DeltaPower
addikt
Ha jól értem ezt, az IF első része arra vonatkozik, ha egy adott feladótól érkező üzeneteket akarsz listázni, a második része pedig a feladók listája.
Három foreach tényleg fölösleges, még ha max 2 fut is le, főleg hogy minddel végigmész az összes üzeneten.
Én ilyesmi megoldást ajánlok:
function list_messages()
{
if( $_GET['i'])
{
$messages = self::find_messages_by_sender_id($_GET['i']);
}
else
{
$messages = self::find_messages_by_users_id($_SESSION['user_id']);
$sender_list=getSenderListWithCount($_SESSION['user_id']);
}
foreach ($messages as $message) { ... }
}
function getSenderListWithCount($cimzett_id)
{
// SELECT COUNT(message_id), ... WHERE cimzett_id={$cimzett_id} GROUP BY sender_id
} -
Sk8erPeter
nagyúr
"Az előző hsz.-edben az volt a problémád"
Ácsi, kicsit rosszul közelíted meg a kérdést. Nekem aztán nem probléma, ha gányolsz, de tanácsot kértél.$_GET: Akkor totál félreértetted, amit mondtam. Annyit javasoltam, hogy a $_GET, $_POST és hasonló tömbökhöz közvetlenül már ne nyúlj az objektumodban, hanem add át paraméterként a tartalmukat a metódusnak, állítsd be a konstruktorban, vagy fogalmam sincs, hogyan oldd meg, de a metóduson belül ne közvetlenül használd már ezeket a tömböket, mert szerintem nem szép. Komolyabb rendszerekben sem nagyon szoktam látni, hogy közvetlenül nyúlkálnak hozzá az osztályon belül. De ahogy érzed.
A foreach egy egyszerű bejáró algoritmus, semmi extra mutatvány nincs a dologban. De ha háromszor használsz foreach-et, akkor háromszor járod be. Ez felesleges.
Ez most a kosaras példánál maradva olyan, mintha lenne egy kosarad, ami tele van kék, fekete, piros golyókkal, és neked az lenne a feladatod, hogy ezeket külön kosarakba gyűjtsd színek szerint; te pedig úgy oldanád meg, hogy először átnéznéd a kosarat, és kiszednéd a pirosakat a saját kosarába, majd ha ezzel végeztél, akkor megint átnéznéd a kosarat, csak a kék golyókra koncentrálva, aztán harmadik alkalommal is átnéznéd, akkor már csak a fekete golyókat keresgélve, miközben ezt megoldhattad volna úgy is, hogy az épp kezed ügyébe kerülő golyót a megfelelő kosárba pakolod, szín szerint.$senders tömböd:
itt már részletesen leírtam, mi a probléma vele. Nem igazán vágom, mit nem értesz belőle, de megpróbálom még egyszer elmagyarázni, kiemelve a lényegi részt:$senders = array();
if(array_key_exists($message->sender_username,$senders))Elmagyarázva szavakkal, a kosaras példával:
$kosár = tök üres
ha a $kosárban van piros színű golyó, akkor csináld ezt:
Vágod?
Új hozzászólás Aktív témák
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Subaru topik
- Luck Dragon: Asszociációs játék. :)
- BestBuy ruhás topik
- Nintendo Switch 2
- Kormányok / autós szimulátorok topikja
- GoodSpeed: Nem vénnek való vidék - Berettyóújfalu
- Gitáros topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- További aktív témák...
- Eladó EVGA 700 W1
- i7 10700/ RTX2080Ti/ 32GB DDR4 alapú konfig/ garancia/ ingyen foxpost
- Újszerű Ps5 Kontrollerrek Garanciával
- Acer Nitro 16 - 16" WQXGA 165Hz - Ryzen 7 8845HS - 16GB - 1TB - Win11 - RTX 4070 - Garancia
- Samsung Galaxy S23 8/256GB, Megkímélt, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- AKCIÓS! Microsoft Surface Pro 9 i5-1245U 16GB 512GB Kijelzőrepedt!
- Xiaomi Redmi Note 13 512GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 11 Pro 256GB Space Grey -1 ÉV GARANCIA - Kártyafüggetlen, MS3173, 100% Akkumulátor
- Lenovo LOQ 15IRH8 - 15.6"FHD IPS 144Hz - i5-12450H - 16GB - 512GB - RTX 4050 - Win11 PRO - 1 év gari
- GYÖNYÖRŰ iPhone 15 Pro Max 1TB Black Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3939, 100% Akku
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Laptopműhely Bt.
Város: Budapest

