Hirdetés
- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- Brogyi: CTEK akkumulátor töltő és másolatai
- gerner1
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Meggyi001: Áram nélkül....méltóság nélkül.....
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Hieronymus: Az igaz barátság kezdete
- Mr Dini: Mindent a StreamSharkról!
Ú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
- NOTEBOOK / NETBOOK / Mac beárazás
- Milyen autót vegyek?
- gban: Ingyen kellene, de tegnapra
- Xiaomi 15T Pro - a téma nincs lezárva
- 240 Hz-es QD-OLED monitor jött az Alienware-től az árérzékenyebbek számára
- Samsung Galaxy S25 - végre van kicsi!
- Parfüm topik
- 4K vs 8K – Megéri-e a 8K TV 2026-ban?
- Mibe tegyem a megtakarításaimat?
- Garancia kérdés, fogyasztóvédelem
- További aktív témák...
- AKCIÓ! EVGA FTW3 Ultra Gaming RTX 3080Ti 12GB videókártya garanciával hibátlan működéssel
- Minden szoftver mellé teljesen audit és NIS2 biztos, jogilag hiteles licencigazolást adunk át!
- Honor 200 Pro 512GB,Újszerű,Dobozaval,12 hónap garanciával
- Akció!!! Lenovo ThinkPad T14 Gen1 Ryzen5 4650U Refurbished - Garancia
- BESZÁMÍTÁS! Asus Sabertooth Z97 Mark 1 alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
