Visualizzazione dei risultati da 1 a 6 su 6

Discussione: riordinare un array

  1. #1

    riordinare un array

    sto cercando di riordinare un array ma l'unica cosa che ho trovato è array_multisort ma non mi sembra affatto quello che mi serve
    io ho un array che è formato così:

    Codice PHP:
    $lista[]=array('nome'=>$nome,'numero'=>$numero,'contenuto'=>$contenuto); 
    questo array viene ordinato in manera casuale, come gli arrivano i dati a me servirebbe che venissero ordinati in ordine alfabetico in base al campo 'nome'

    sapreste dirmi come faccio a riordinarlo ?

    ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Scusa non ho capito se è un array multidimensionale oppure no.

    Cmq devi usare o sort() o array_multisort().

  3. #3

    Re: riordinare un array

    forse mi sono spiegato male

    allora alla fine il mio array é cosi
    Codice PHP:
    $lista[]=array('pippo','2','asasasds');
    $lista[]=array('fabio','43','hgfhghfg');
    $lista[]=array('mario','54','tyreytuyt');
    $lista[]=array('giovanni','12','uytryyiuy'); 
    e mi servirebbe riordinare l'array in ordine alfabetico (in basa al primo campo) quindi ottenere in questo caso l'array ordinato cosi

    Codice PHP:
    $lista[]=array('fabio','43','hgfhghfg');
    $lista[]=array('giovanni','12','uytryyiuy');
    $lista[]=array('mario','54','tyreytuyt');
    $lista[]=array('pippo','2','asasasds'); 
    come posso fare?

    ciao e grazie

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    http://it2.php.net/usort
    Dal manuale:

    Codice PHP:
    <?php
    $lista
    [0]['nome'] = 'pippo';
    $lista[0]['numero'] = 2;
    $lista[0]['commento'] = 'asasasds';

    $lista[1]['nome'] = 'fabio';
    $lista[1]['numero'] = 43;
    $lista[1]['commento'] = 'hgfhghfg';

    $lista[2]['nome'] = 'mario';
    $lista[2]['numero'] = 54;
    $lista[2]['commento'] = 'tyreytuyt';

    $lista[3]['nome'] = 'giovanni';
    $lista[3]['numero'] = 12;
    $lista[3]['commento'] = 'uytryyiuy';

    function 
    columnSort($unsorted$column) {
       
    $sorted $unsorted;
       for (
    $i=0$i sizeof($sorted)-1$i++) {
         for (
    $j=0$j<sizeof($sorted)-1-$i$j++)
           if (
    $sorted[$j][$column] > $sorted[$j+1][$column]) {
             
    $tmp $sorted[$j];
             
    $sorted[$j] = $sorted[$j+1];
             
    $sorted[$j+1] = $tmp;
         }
       }
       return 
    $sorted;
    }

    print_r(columnSort($lista'nome'));
    ?>

  5. #5

    riordinare un array

    ciao,
    ora mi si presenta un altro array che devo riordinare ma l'errore e' strano
    sto cercando di riordinare l'array in ordine alfabetico ed ho creato (se fa per dire) questa function
    Codice PHP:
            function SortArray($unsorted){
                
    $sorted $unsorted;
                
    sort($sorted);
                
    reset($sorted);
                while (list(
    $chiave$valore) = each($sorted)) {
                   
    $sorted[$chiave] = $valore;
                }
            return 
    $sorted;
            } 
    unico problema è che riordina in ordine alfabetico tutte le parele distinguendo anche se sono scritte in maiuscolo o minuscolo

    cioè se ho l'array fatto cosi

    $frutti[1] = mela
    $frutti[2] = Pera
    $frutti[3] = limone
    $frutti[4] = arancia
    $frutti[5] = Banana
    $frutti[6] = anguria

    facendo passare l'array dalla mia funtion
    usando quindi
    $frutti = SortArray($frutti);

    mi restituisce

    $frutti[1] = Banana
    $frutti[2] = Pera
    $frutti[3] = anguria
    $frutti[4] = arancia
    $frutti[5] = limone
    $frutti[6] = mela

    quindi riordina prima le parole in maiuscolo e poi quelle in minuscolo
    ma come devo fare per avere riordinata l'array ma indistintamente da come iniziano (se maiuscolo o minuscolo)

  6. #6

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.