Autor Zpráva
omega
Profil *
mam napriklad:

$a[1] = 5;
$a[2] = 3;
$a[3] = 8;
$a[4] = 4;

ono teraz ked dam sort($a), tak mi to pretriedi OK ale potom vypise $a[1] = 4 co ja nehcem ja by som chcel aby mi pretriedil premmene teda nieco v tom zmysle, ze sort[1] = $a[4] chapete? Ako sa take robi?

Dakujem
DDD
Profil
jestli jsem to pochopil, tak tam dej asort(), jestli ne, tak si tam najdi další fce podobný sort()
omega
Profil *
nie ja chcem aby mi vypisalo v poradi ID-cka $a, teda v priklad co som uviedol by vypisalo: 2,4,1,3 chapete?
hansk
Profil
nie ja chcem aby mi vypisalo v poradi ID-cka $a, teda v priklad co som uviedol by vypisalo: 2,4,1,3 chapete?
Přesně toto dělá funkce asort()!
DDD
Profil
jo :-)
$a = array(2,1,3);
asort($a);
echo $a[0]; //by mělo napsat 2, ale přitom se to setřídit
omega
Profil *
nie je pravda,

daj si

$a = array(5,1,3);
asort($a);
echo $a[0]; //by melo napsat 2, ale pritom se to setrídit

a napise 5
tiso
Profil
omega a zmysel takehoto triedenia? Čo vlastne chceš docieliť?
omega
Profil *
potrebujem to pre jednu vec, uloha je jasna: mam pole s KEYS s roznymi hodnotami a teraz chcem hodnoty pretriedit a nasledne vypisat KEYS tych utriedenych hodnot.

Tak ako? Bude sa to dat?
nightfish
Profil
omega
$a = array(5,1,3);

asort($a);
print_r($a);

ono to pole je pak seřazené správně, problém je v tom, že klíč 0 je pořád přiřazen k té původní hodnotě (tzn. ukazuje na původní hodnotu)... jak se dostat na fyzicky i-tý prvek seřazeného pole bez ohledu na indexy mě teď nenapadá
omega
Profil *
takto to nehccem ja chcem aby tio bolo tak ze echo $triedene[1] = ten spravny KEYS
DDD
Profil
tak to musíš použít sort() i asort(), ve dvojitým cyklu procházet pole, házet tam postupně všechny klíče a jakmile najdeš ten správnej, tak to připsat do dalšího pole, ve kterým to na konci budeš mít seřazený tak, jak chceš - prostě nějak docílit toho, aby když tam hodíš hodnotu, tak ti to vrátilo KEY (pokud už taková fce neexistuje)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0