- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
- gban: Ingyen kellene, de tegnapra
- Magga: PLEX: multimédia az egész lakásban
- eBay-es kütyük kis pénzért
- Mr. Y: Motoros sztorik #06
- NASsoljunk: ZyXEL NSA-310 és az FFP
- Őskoczka
Ú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
Hirdetés
- Bomba ár! Lenovo ThinkBook 14s Yoga - i5-1135G7 I 16GB I 256SSD I 14" FHD Touch I Cam I W11 I Gari
- LG 55C3 - 55" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
- BenQ PD-2700-U Monitor - Designer 4K 27"
- AKCIÓ! HP Elitedesk 800 G1 USDT mini asztali számítógép - i7 4770S 16GB RAM 128GB SSD Intel HD
- LG 40WP95XP-W - 40" NANO IPS - 5120x2160 5K - 72Hz 5ms - TB 4.0 - HDR - AMD FreeSync
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest