Autor Zpráva
panther
Profil
Ahoj,

mám pole, jehož dump vypadá následovně:
["klic_pole"]=>
array(12) {
    [178]=>
    array(5) {
      ["fileorder"]=>
      string(2) "63"
      ["title"]=>
      string(9) "title"
    }
    [170]=>
    array(5) {
      ["fileorder"]=>
      string(2) "59"
      ["title"]=>
      string(5) "title"
    }
    [179]=>
    array(5) {
      ["fileorder"]=>
      string(2) "69"
      ["title"]=>
      string(9) "title"
    }
    [172]=>
    array(5) {
      ["fileorder"]=>
      string(2) "60"
      ["title"]=>
      string(5) "title"
    }
    ...

a potřeboval bych ho seřadit podle hodnoty fileorder vzestupně, klíše musí zůstat zachovány. Výsledkem tedy má být následující pole:

["klic_pole"]=>
array(12) {
    [170]=>
    array(5) {
      ["fileorder"]=>
      string(2) "59"
      ["title"]=>
      string(5) "title"
    }
    [172]=>
    array(5) {
      ["fileorder"]=>
      string(2) "60"
      ["title"]=>
      string(5) "title"
    }
    [178]=>
    array(5) {
      ["fileorder"]=>
      string(2) "63"
      ["title"]=>
      string(9) "title"
    }
    [179]=>
    array(5) {
      ["fileorder"]=>
      string(2) "69"
      ["title"]=>
      string(9) "title"
    }
    ...

Data jsou dodána v tomto formátu, ten je tedy neměnný a nezměnitelný. Napadne někoho elegantní řešení, jak pole seřadit?

Doplním, že jsem se dopátral funkce usort, konkrétně příklad 1. To mi seřadí hodnoty podle chtného fileorder, ale zahodí původní klíče.
Kcko
Profil
uasort
panther
Profil
Kcko:
díky, to je přesně, co jsem hledal. Budu muset koukat pozorněji do seznamu „podobných“ funkcí k právě prohlížené.

Děkuji.
Kcko
Profil
panther:
Nemáš vůbec zač.

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