- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema: Ordinamento di Array
-
Problema: Ordinamento di Array
Ho un piccolo problema con alcuni array.
Qualche mese fa ho creato un piccolo script PHP per salvare ed estrarre dati da un file con un array.
Il fatto è che ora desidero ordinare i dati per data di inserimento in ordine discendente, tenendo conto che inserimento significa nuova stringa in fondo alla pagina. Mi spiego meglio; quello mostrato di seguito è il file-database.Lista[0] = "pippo"; Lista[1] = "topolino"; Lista[2] = "paperino"; Lista[3] = "pluto";
Credo che il quesito sia piuttosto semplice: esiste una funzione, tipo sort(), rsort() o simili, che mi consenta di ordinare i dati dal [3] allo [0] (pluto, paperino, topolino, pippo) prima di estrarli?
Nota: ho trovato la funzione array_reverse(), ma non riesco a farla funzionare.
-
Le variabili in php dovrebbero avere il $ davanti...
$Lista[0] = "pippo"; $Lista[1] = "topolino"; $Lista[2] = "paperino"; $Lista[3] = "pluto"; $nuovaLista = array_reverse($Lista); print_r($nuovaLista);
ti funziona?
-
Grazie (Il dollaro della variabile l'avevo scordato nella stesura del codice d'esempio), ma purtroppo la faccenda non è così semplice.
Il codice che mi hai passato è lo stesso che avevo provato io (con l'eccezione del print, ovviamente). E fin qui, nessun problema.
Quando estraggo i dati, poi, tramite ciclo, e filtraggio per chiave -da una delle stringhe dell'array- i dati risultano così (esempio):Se il file/database è
$Lista[0] = "pippo"; $Lista[1] = "topolino"; $Lista[2] = "paperino"; $Lista[3] = "pluto";
Io, quando filtro ed estraggo i dati tramite ciclo, dopo aver inserito
l'array_reverse(), ottengo... (esempio)PLUTO TOPOLINO PAPERINO
-
Ciao FedeHann,
non è che per sbaglio hai utilizzato la function array_reverse() passandole
anche 'true' come secondo parametro?In quel caso ti conserva anche le chiavi/indici dell'array e quindi scorrendolo in un ciclo for ti ridà praticamente lo stesso ordine dell'array iniziale.
Ciao
-
No, il valore booleano è opzionale nella funzione. Io non ho impostato nulla, dunque, di default, PHP lo interpreta come FALSE.