Visualizzazione risultati 1 fino 9 di 9

Discussione: ordinare in ordine alfabetico un array

  1. #1
    Guest

    Unhappy ordinare in ordine alfabetico un array

    Salve allora io ho un contenuto in un array e vorrei prdinarlo in ordine alfabetico, fin qui nessun problema se non fosse che mi mette prima le maiuscole delle minuscole, è quindi non è un vero ordine alfabetico ES.

    Codice PHP:
    <?php

    $casuale
    = array("d","f","H","m","a","Z");
    sort($casuale);

    for (
    $i = 0; $i < count($casuale); $i++)
    echo
    "$casuale[$i]<br>";

    ?>
    Risultato:
    H
    Z
    a
    d
    f
    m

    Risulato che vorrei ottenere:
    a
    d
    f
    H (maiuscolo)
    m
    Z (maiuscolo)

    Mi ritrovo le lettere maiuscole in cima.
    ho cercato un po nel forum ma non sono riuscito a trovare nulla.
    Qualcuno sa come risolvere questo problema?
    GRAZIE IN ANTICIPO.
    Ultima modifica di andreafallico : 27-12-2010 alle ore 22.55.01

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Hai provato con natcasesort?

  3. #3
    Guest

    Predefinito

    si ma non ci ho capito nulla.
    se riesci puoi scrivermi la soluzione sinteticamente.
    Grazie in anticipo.

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Devi semplicemente usare la funzione che ti ho consigliato anziché la funzione sort.
    Codice PHP:
    <?php

    $casuale
    = array("d","f","H","m","a","Z");
    natcasesort($casuale);

    for (
    $i = 0; $i < count($casuale); $i++)
    echo
    "$casuale[$i]<br>";

    ?>

  5. #5
    Guest

    Predefinito

    non funziona mi stampa:
    d
    f
    H
    m
    a
    Z

    invece a me servirebbe che mi stampi: (in ordine alfabetico)
    a
    d
    f
    H
    m
    Z

    ce qualche altra soluzione?
    grazie in anticipo

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Prova così:
    Codice PHP:
    <?php
    $casuale
    = array("d","f","H","m","a","Z");
    $casuale_lowercase = array_map('strtolower', $casuale);
    array_multisort($casuale_lowercase, SORT_ASC, SORT_STRING, $casuale);

    for (
    $i = 0; $i < count($casuale); $i++)
    echo
    "$casuale[$i]<br>";
    ?>
    Ultima modifica di karl94 : 27-12-2010 alle ore 23.38.40

  7. #7
    Guest

    Predefinito

    niente non funziona ancora mi da questo:
    Warning: array_map() [function.array-map]: Argument #2 should be an array in D:\Inetpub\webs\apkacinemacom\prova.php on line 4

    Warning: array_multisort() [function.array-multisort]: Argument #1 is expected to be an array or a sort flag in D:\Inetpub\webs\apkacinemacom\prova.php on line 5
    d
    f
    H
    m
    a
    Z

  8. #8
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Errore mio, scusa. Corretto e testato, trovi il codice corretto nel mio precedente messaggio.

  9. #9
    Guest

    Predefinito

    gradissimo funziona
    grazie mille

Regole di scrittura

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