ugrás a tartalomhoz

Asszociatív tömb rendezése minta alapján

david88 · 2013. Okt. 18. (P), 16.29
Sziasztok!

Az alábbi oldalon van egy autós példa egy asszociatív tömbbel.
http://csaba.dreambyte.hu/2012/11/tobbdimenzios-asszociativ-tomb-rendezese-ertek-alapjan-php-ben/

Hogy lehet azt megoldani hogy ha mondjuk egy megadott sorrendbe szeretném őket rendezni?
pl egy tömbben el van tárolva, hogy (bmw, audi, mercedes) és én ebbe a sorrendben szeretném rendezni az asszoc. tömb elemeit. Tehát az első elem a bmw adatai legyenek aztán az audié...
 
1

A php dokumentáció alapján

Hidvégi Gábor · 2013. Okt. 18. (P), 16.34
A php dokumentáció alapján mely függvények jöhetnek szóba?
2

Bármelyik amelyik megoldja a

david88 · 2013. Okt. 18. (P), 16.43
Bármelyik amelyik megoldja a problémát :)
3

Légyszi jelezz vissza, ha

Hidvégi Gábor · 2013. Okt. 18. (P), 16.47
Légyszi jelezz vissza, ha megtaláltad a megfelelő függvényt!
4

Kétségkívül vannak RTFM

tgr · 2013. Okt. 18. (P), 16.57
Kétségkívül vannak RTFM vonatkozásai a kérdésnek, de a *sort függvények használata nem a legjobb megoldás: el is bonyolítja a kódot, meg O(n*logn)-ben fut, miközben ez egy O(n)-es probléma. (Háromelemű tömbnél ez persze mindegy.)
5

Igen, épp ezen gondolkozom,

Hidvégi Gábor · 2013. Okt. 18. (P), 16.58
Igen, épp ezen gondolkozom, hogy ehhez még függvények sem kellenek.
7

$tomb1 = array('bmw',

Hidvégi Gábor · 2013. Okt. 22. (K), 10.40
$tomb1 = array('bmw', 'porsche', 'audi');

$tomb2 = array('porsche' => array(), 'bmw' => array(), 'audi' => array());
8

ilyen esetben uksort. de

inf · 2013. Okt. 22. (K), 10.53
ilyen esetben uksort. de tényleg RTFM típusú kérdés...
9

for

Hidvégi Gábor · 2013. Okt. 22. (K), 10.55
for
10

rendezésre rendező

inf · 2013. Okt. 22. (K), 10.57
rendezésre rendező algoritmusokat szoktak használni, egy sima for ciklus nem ilyen.
11

Speciel ezt egy for (na jó,

tgr · 2013. Okt. 22. (K), 11.37
Speciel ezt egy for (na jó, foreach) ciklussal megoldani feleannyi sor, negyedannyi idő, egy log(n)-nel jobb aszimptotikus hatékonység, és még dokumentációt olvasgatni se kell hozzá. De ha mindenáron könyvtári függvényt akarsz hozzá használni, akkor már inkább egy array_map, mint a *sort.
12

Esetleg egy algoritmust is

inf · 2013. Okt. 22. (K), 13.05
Esetleg egy algoritmust is kérhetek? Ha csak végigmész egyszer egy for ciklussal, attól még nem lesznek sorban az elemek.
13

Sírba viszel : )

Hidvégi Gábor · 2013. Okt. 22. (K), 13.10
$tomb3 = array();
for ($i = 0, $l = sizeof($tomb1); $i < $l; $i++) {
  $tomb3[$tomb1[$i]] = $tomb2[$tomb1[$i]];
}

vagy

foreach ($tomb1 as $kulcs) {
  $tomb3[$kulcs] = $tomb2[$kulcs];
}
14

Ja vagy úgy, félreértettem a

inf · 2013. Okt. 22. (K), 13.18
Ja vagy úgy, félreértettem a problémát. Erre tényleg elég egy foreach, de ez nem rendezés, mert a sorrendet nem kell előállítani, hanem már eleve adott.
15

Mert nem volt egyértelmű, én

Hidvégi Gábor · 2013. Okt. 22. (K), 13.21
Mert nem volt egyértelmű, én is emiatt ajánlottam először a manuált, meg emiatt írtam fel a két tömb formáját.