Hirdetés
- Jövő héten indul a Xiaomi kameraforradalma
- Csonkítás áldozata lett a nemzetközi Redmi Note 15 Pro+
- Nem rejtegetik tovább a Redmi Note 15 Pro és 15 Pro 5G globális verzióját sem
- Akciófigyelő: December 24-ig tart az Ulefone karácsonyi leárazása
- Bemutatta a Xiaomi a Redmi Note 15 és Note 15 5G globális változatát
- iPhone topik
- Azonnali mobilos kérdések órája
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
- Külföldi prepaid SIM-ek itthon
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Fél perc csend, majd világra jön egy Magic8 Pro
- Honor 200 Pro - mobilportré
- Vivo X200 Pro - a kétszázát!
- A lapkakészlet és az akku különbözteti meg a Motorola Edge 60 és Edge 60 Pro-t
- Google Pixel topik
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
tothjozsi96
#16242
üzenetére
Szívesen!
Jó a felvetés, legegyszerűbb (még ha nem is szép) megoldás jelen esetben az lenne, ha maga az azonosító lenne a tömbindex, és annak értéke pedig az adatokat tartalmazó tömb lenne. Ez továbbra is tömbök tömbje, ahogy a korábbi megoldás is volt, csak annyi különbséggel, hogy itt explicite meghatározod a tömbindexet, nem pedig az automatikus számozásra bízod (mivel eddig numerikus indexek voltak használva, 0, 1, 2, ...).
Tehát valahogy így, pszeudokóddal:$conversations = array(
AZONOSÍTÓ1 => array(
"text" => "asdasd",
),
AZONOSÍTÓ2 => array(
"text" => "blabla",
),
AZONOSÍTÓ3 => array(
"text" => "qweqwe",
),
);az AZONOSÍTÓ1, AZONOSÍTÓ2, stb. kulcs lehet szám, vagy lehet egy string is (attól függően, milyen típusú azonosítót használsz).
Akár redundánsan is tárolhatod az azonosítót, úgy, hogy pl.:AZONOSÍTÓ3 => array(
'id' => AZONOSÍTÓ3,
'text' => 'qweqwe',
),Ez bizonyos esetekben leegyszerűsítheti a dolgot, persze figyelni kell rá, hogy ez konzisztens maradjon, ne legyen egyik helyen ilyen azonosító, másik helyen amolyan.
Egyébként tényleg érdemes lehet bevezetni egy osztályt, hogy szebben tudd tárolni és kezelni az adatokat.Jelen esetben ezzel az egyszerű megoldással tehát úgy tudnád törölni, hogy egyszerűen írsz egy unset($conversations[AZONOSÍTÓ3]); sort, ezzel kitörölve az adott tömbindexet, és ezután replace-eled a korábbi tömböt a memcache-ben, és meg is vagy.
Itt is egyébként figyelni kell arra, nehogy egy másik csatlakozott kliens egy korábbi kiolvasott adatból tudjon beírni, úgy, hogy visszarakja valahogy ezt az értéket a tömbbe...
Ezért is mondom, hogy szebb megoldást továbbra is valamilyen NoSQL-megoldással lehetne készíteni.
Új hozzászólás Aktív témák
- PS Plus előfizetések kedvező áron
- Lenovo Thinkpad P16 G2 - i9-13980HX, 32GB, 1TB SSD, 16" WQUXGA (3840 2400), RTX 4090 (ELKELT)
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Apple iPhone 14 Pro Max 128GB,Újszerű,Dobozával,12 hónap garanciával
- GYÖNYÖRŰ iPhone 13 Mini 128GB Midnight - 1 ÉV GARANCIA -Kártyafüggetlen, MS4071
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: ATW Internet Kft.
Város: Budapest


