Hogyan tudok php -ban tömb elem duplikációt kezelni?
Arról van szó, hogy Minecraft szerver toplistát akarok csinálni, és van egy tömböm így néz ki.
Át akarom átalakítani ez a tömböt egy másikká olyan módon, hogy minden elem marad kivéve az online_players, helyette avarge_players lenne. Ha egy ip cím mondjuk 10 szer szerepel a tömbben akkor az online_players értékek átlagolódnak ügye olyan módon összeadom a 10 számot és elosztom 10 el.
A kérdésem az programozástechnikailag milyen módszerek vannak. Hogyan tudnám szétválogatni az ip címek alapján, és átlagolni? Nem kell pontos kód elég egy elvi magyarázat én utána nézek. Amit nem tudok megoldani a tömb kezelése az ip címek alapján.
Én első ránézésre úgy csinálnám, hogy egy ciklussal végigmegyek az értékeken és egy külön tömbbe kigyűjteném a címeket úgy, hogy ha még nem szerepelt az új tömbbe, akkor felveszem 1-es értékkel mellette, ha pedig már szerepelt, akkor csak a mellé rendelt értéket növelem eggyel.
Ezt megoldhatod 2D-s tömbbel, vagy akárhogy, ahogy tetszik.
Hogyan vizsgálod hogy szerepel e benne? A $value1 az a tömb amit az előbb linkeltem.
function avarge_server_list($value1)
{
$return = array();
foreach ($value1 as $row) {
array_push($return,array($row->id => $row->ip_address));
}
return $return;
}
Ugye a tömbök kulcsa lehet szöveg vagy szám (esetleg maga egy IP is?), tehát nem kell nagyon bűvészkedni vele, csak csinálj egy bejegyzést a tömbbe, aminek a kulcsa az IP és az értéke egy szám.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!