Taulukon lukujen järjestämisestä

PdfHfdgPfd

Tarkotus ois järjestää taulukon kohdat suuruusjärjestykseen siten, että niiden otsikot/nimet tulis myös mukaan samassa järjestyksessä, eli ei järjestetä pelkkiä lukuja.

Olen tekemässä testiä, jonka päätteeksi käyttäjä näkee taulukon, jossa eri tulokset on listattu suuruusjärjestykseen, esimerkiksi näin:

C 100 %
A 49 %
B 10 %

PHP:ssä näittäis toistaseks suurin piirtein tältä:

$luvut = array("A" => 49, "B" => 10, "C" => 100); // noi luvut ei tietenkään lue koodissa suoraan, mutta oikasin vähän
sort($luvut);
for($i=0; $i < count($luvut); $i )
{
echo "TÄHÄN AINA A, B tai C" . $luvut[$i] . " %";
}

Eli tossa menee luvut järjestyksessä, mutta miten noi nimet eli A, B ja C saa sen kyseisen luvun yhteyteen samalle riville? Tää on varmaan ihan yksinkertaista, mutta en tajua. Jos joku auttaa, niin kiitos.

10

381

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • APskja

      Unohin lisätä koodiin , mutta eipä sillä ole väliä pääasian kannalta...

      • dsfggdhgf

        Eikun siis tr ja td... ne katoaakin kai itsestään...


    • errtrygtgfh

      Onko jotenkin mahdollista esimerkiks tehä niin, että ois myös toinen array-taulukko, jossa olis ne lukujen nimet ja ne sais jotenkin järjestettyä samalla tavalla kuin nuo luvut?

      Kokeilin tälleen...
      -------------------------------------------------------------------------------------------
      $luvut = array("A" => 49, "B" => 10, "C" => 100);
      $nimet = array("A", "B", "C");
      sort($luvut);
      for($i=2; $i >= 0; $i--)
      {
      echo "¤TR¤¤TD¤" . $nimet[$i] . "¤TD¤" . $luvut[$i] . " %";
      }

      (¤-merkit korvaa niitä html-tagimerkkejä.)
      -------------------------------------------------------------------------------------------
      ...mutta tuossa ne nimet järjestyy vaan omassa järjestyksessään eli C, B, A eikä lukujen (100, 49, 10) mukaan C, A, B... Mitenköhän tää pitäis oikein tehdä?

      • Sdffggf

        Hakasulkeet katos jonneki.


      • dsfdsgf
        Sdffggf kirjoitti:

        Hakasulkeet katos jonneki.

        Eikun siis aaltosulkeet...

        Huoh, spämmäilen vaan tänne.


    • ---------------

      Niin varmaan oletkin jo keksinyt miten tehdään?

      Taikasanat
      http://fi.php.net/manual/en/function.asort.php (esimerkki valmis tarkoitukseesi)
      http://fi.php.net/manual/en/control-structures.foreach.php

      Juu ei mitään kahta arrayta, koska sorttauksessa menee järjestys sekaisin. Jos tarvitset enemmän tietoa tallentaa niin silloin

      $esimerkkit = array();
      $esimerkkit['a'] = array("A" => 9, "B" => 10, "C" => 100);
      jne....

      tällöin järjestaminen ja tulostaminen onnistuu helposti.

      Todennäköisesti tietokannasta tulee noi?
      Jolloin kannattaa järjestää suoraan tietokannan puolella eikä PHP:n.

    • ---------------

      Niin varmaan oletkin jo keksinyt miten tehdään?

      Taikasanat
      http://fi.php.net/manual/en/function.asort.php (esimerkki valmis tarkoitukseesi)
      http://fi.php.net/manual/en/control-structures.foreach.php

      Juu ei mitään kahta arrayta, koska sorttauksessa menee järjestys sekaisin. Jos tarvitset enemmän tietoa tallentaa niin silloin

      $esimerkkit = array();
      $esimerkkit['a'] = array("A" => 9, "B" => 10, "C" => 100);
      jne....

      tällöin järjestaminen ja tulostaminen onnistuu helposti.

      Todennäköisesti tietokannasta tulee noi?
      Jolloin kannattaa järjestää suoraan tietokannan puolella eikä PHP:n.

      • Dänkemään

        Kiitos! Nyt selkeni. Toi ylempi linkki kertoi oikeastaan kaiken. Eikä ole mitään tietokantaa ollenkaan, vaan ne luvut tulee siis lomakkeen perusteella.

        Näin yksinkertaista se olikin. Eli ei tarttenu tietää kun toi $key-juttu vaan oikeestaan. Ja foreach, mutta onkohan sillä väliä, käyttääkö foreach vai for...


    • ---------------

      Niin hupsistas kun viesti tulikin kaks kertaa, eka ei tullut näkyviin joten lähetin uudestaan.

      Se on periaatteessa ihan sama kumpaa käyttää, foreachin avulla on kuitenkin helpompi käydä taulukon tiedot läpi, for/while taas jos tarvitaan x määrä toistoja. Tolla periaatteella olen itse noita käytellyt. Kun vielä opettelee http://fi.php.net/manual/en/control-structures.break.php ja http://fi.php.net/manual/en/control-structures.continue.php käytön eikä itse yritä tehdä samaa ehto lauseilla niin koodi pysyy luettavampana ja hitusen nopeempanakin.

      Nippelitietona vielä semmoista, että forilla taulukon läpikäynti on hitusen nopeempaa ja kuluttaa vähemmän muistia kuin foreachilla, mutta ero on suuremmissakin taulukoissa on vain mikrosekuntteja, joten yleensä se on turhaa optimointia, mutta kuitenkin joskus tarpeen. Kannattaa vilkasta vaik http://www.phpbench.com/

    • fdggh

      Kiitos vielä noista! Tutustun ehkä joskus tarpemmin, kun ehtii ja jakselee.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Porvarimediat paniikissa demareiden huiman kannatuksen vuoksi

      Piti sitten keksiä "nimettömiin lähteisiin" perustuen taas joku satu. Ovat kyllä noloja, ja unohtivat sen, että vaalit
      Maailman menoa
      84
      5994
    2. KATASTROFI - Tytti Tuppurainen itse yksi pahimmista kiusaajista!!!

      STT:n lähteiden mukaan SDP:n eduskuntaryhmän puheenjohtaja Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti
      Maailman menoa
      310
      5006
    3. Huono päivä

      Tänään on ollut tosi raskas päivä töissä. Tekis mieli itkeä ja huutaa. En jaksa just nyt mitään. Minä niin haluaisin ja
      Ikävä
      20
      2638
    4. Mikä siinä on ettei persuille leikkaukset käy?

      On esitetty leikkauksia mm. haitallisiin maataloustukiin, kuin myös muihin yritystukiin. Säästöjä saataisiin lisäksi lei
      Maailman menoa
      46
      2578
    5. Lääppijä Lindtman jäi kiinni itse teosta

      Lindtman kyselemättä ja epäasiallisesti koskettelee viestintäpäällikköä. https://www.is.fi/politiikka/art-2000011780852
      Maailman menoa
      74
      1784
    6. Juuri nyt! Tytti Tuppurainen on käyttäytynyt toistuvasti epäasiallisesti

      Ai että mä nautin, Tytti erot vireille! "Käytös on kohdistunut avustajia ja toisia kansanedustajia kohtaan, uutisoi STT
      Maailman menoa
      102
      1649
    7. Puolen vuoden koeaika

      Voisi toimia meillä. Ensin pitäis selvittää "vaatimukset" puolin ja toisin, ennen kuin mitään aloittaa. Ja matalalla pro
      Ikävä
      17
      1511
    8. Onko kaivattusi

      liian vetovoimainen seksuaalisesti?
      Ikävä
      105
      1407
    9. Olen ihmetellyt yhtä asiaa

      Eli miksi naiset ovat niin pelokkaan tai vaitonaisen oloisia minun seurassani. Se sai minut ajattelemaan, että olen epäm
      Ikävä
      133
      1373
    10. seurakunnan talouspäällikön valinta meni perseelleen

      Nyt on ihan pakko kyseenalaistaa tuo Kemijärven seurakunnan päätös talouspäälliköstä. Valitulla ei ole talouspuolen osaa
      Kemijärvi
      118
      1356
    Aihe