- Home
- Categorie
- Coding e Sistemistica
- PHP
- riordinare Array con indici mancanti
-
riordinare Array con indici mancanti
Ciao a tutti...
Ho un array di elementi di questo tipo:nome[1]="Pippo"
nome[2]="Paperino"
nome[3]="Gastone"
nome[6]="Topolino"
nome[8]="Paperoga"Alcuni indici sono mancanti, ma a priori non posso sapere quali (sono il submit di una form i cui campi possono essere aggiunti o rimossi dinamicamente dall'utente).
Io vorrei "reindicizzare" l'array in modo che vengano occupati tutti gli indici, senza buchi, ma senza riordinare gli elementi. In pratica mi servirebbe questo risultato:
nome[0]="Pippo"
nome[1]="Paperino"
nome[2]="Gastone"
nome[3]="Topolino"
nome[4]="Paperoga"Ho pensato di scrivere una funzione ad hoc ma mi sono chiesto se magari c'è già qualche comando "di serie".
Ho dato un'occhiata al comando Sort(Array) e le sue varianti ma non mi pare faccia quello che mi serve.
-
Ciao Ministry,
secondo me hai fatto il form male, perchè ti basterebbe nel modulo utilizzare come name mioarray[] e in php ti ritrovi l'array già ordinato come serve a te senza fare inutili operazioni.
-
[php]
private function riordina($array){$nuovo = array();
foreach ($array as $elemento) {
array_push($nuovo, $elemento);
}return $nuovo;
}
[/php]Semplicemente fai scorrere l'array da ricostruire con un foreach e aggiungi ogni elemento ad un nuovo array.