Visualizzazione risultati 1 fino 9 di 9

Discussione: unire e ordinare due array

  1. #1
    L'avatar di lobster
    lobster non è connesso Utente
    Data registrazione
    05-09-2003
    Residenza
    ...nel 'Paese dei Balocchi'...
    Messaggi
    151

    Predefinito unire e ordinare due array

    salve!

    devo fare una classifica, tipo

    marco: 8 punti
    guido: 3 punti
    luisa: 5 punti
    mario: 22 punti

    ho due array, uno con i nomi e l'altro con i punteggi.

    come faccio a unirli e ordinarli insieme in ordine di punteggio (dal più punteggio più alto al punteggio più basso) in modo che ciascun punteggio corrisponda al nome della persona?

    grazie!

  2. #2
    Guest

  3. #3
    Ospite Guest

    Predefinito

    Oppure:
    Codice PHP:
    <?
    $a1
    =array("Marco","Guido","Luisa","Mario");
    $a2=array(8,3,5,22);

    for(
    $i=0;$i<count($a1);$i++){
    $a3[$a1[$i]]=$a2[$i];
    }

    arsort($a3);
    reset($a3);
    print_r($a3);
    ?>

  4. #4
    L'avatar di F1Italia
    F1Italia non è connesso Utente
    Data registrazione
    28-12-2003
    Messaggi
    200

    Predefinito

    Codice PHP:

    $a1
    =array("Marco","Guido","Luisa","Mario");
    $a2=array(8,3,5,22);
    $a = array_combine($a1, $a2);

    arsort($a);

    foreach (
    $a as $key => $value ) {
    echo
    $key." - ".$value."<br>";
    }
    l'output sarà:

    Mario - 22
    Marco - 8
    Luisa - 5
    Guido - 3

    è questo che volevi giusto?

    PS: la funzione array_combine non è disponibile su versioni di PHP precedenti alla 5. Se usi versioni precedenti quoto il codice di probid.
    Ultima modifica di F1Italia : 18-09-2007 alle ore 18.39.46
    Fare facilmente ciò che gli altri trovano difficile è talento;
    fare ciò che è impossibile al talento è genio.


  5. #5
    L'avatar di lobster
    lobster non è connesso Utente
    Data registrazione
    05-09-2003
    Residenza
    ...nel 'Paese dei Balocchi'...
    Messaggi
    151

    Predefinito

    grazie a tutti! funziona!

    una domanda aggiuntiva: se avessi un terzo array come devo comportarmi per associarlo ai precedenti?

  6. #6
    Ospite Guest

    Predefinito

    Codice PHP:
    <?

    $a1
    =array("Marco","Guido","Luisa","Mario");
    $a2=array(8,3,5,22);
    $a3=array("a","b","c","d");

    for(
    $i=0;$i<count($a1);$i++){
    $a4[$a1[$i]]=$a2[$i];
    }

    arsort($a4);
    reset($a4);
    for(
    $i=0;$i<count($a1);$i++){
    echo
    $a1[$i]." ".$a4[$a1[$i]]. " ". $a3[$i]."<br />";
    }
    ?>

  7. #7
    L'avatar di lobster
    lobster non è connesso Utente
    Data registrazione
    05-09-2003
    Residenza
    ...nel 'Paese dei Balocchi'...
    Messaggi
    151

    Predefinito

    funziona, ma come faccio a ordinare tutto in base al punteggio?

  8. #8
    Ospite Guest

    Predefinito

    Codice PHP:
    <?
    $a1
    =array("Marco","Guido","Luisa","Mario");
    $a2=array(8,3,65,22);
    $a3=array("a","b","c","d");
    for(
    $i=0;$i<count($a1);$i++){
    $a4[$a1[$i]]=$a2[$i];
    $a3[$a1[$i]]=$a3[$i];
    }

    arsort($a4);
    reset($a4);
    foreach(
    $a4 as $key=>$value){
    echo
    $key. " " .$value." ".$a3[$key]."<br />";
    }

    ?>

  9. #9
    L'avatar di lobster
    lobster non è connesso Utente
    Data registrazione
    05-09-2003
    Residenza
    ...nel 'Paese dei Balocchi'...
    Messaggi
    151

    Predefinito

    Funziona!
    Grazie infinite!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •