Array neu sortieren.
Rafael
- php
Ich suche gerade nach einer Funktion von der ich mir sicher bin, dass sie existiert. Allerdings blieb jede Suche bisher erfolglos.
Ich habe ein Array im Sinne von:
3 => 'Wert1',
7 => 'Wert2',
9 => 'Wert3'
Daraus will ich erstellen:
0 => 'Wert1',
1 => 'Wert2',
2 => 'Wert3'
Also die Reihenfolge beibehalten, aber die Indzi zurücksetzen. Ich weiß, dass ich es mit ner Schleife machen kann, aber ich dachte dafür gibt es eine vordefinierte Funktion.
Kann mir einer sagen wie diese heißt? Danke!
Lieber Rafael,
Ich habe ein Array im Sinne von:
3 => 'Wert1',
7 => 'Wert2',
9 => 'Wert3'Daraus will ich erstellen:
0 => 'Wert1',
1 => 'Wert2',
2 => 'Wert3'
das ist ein typischer Fall für sort().
Liebe Grüße aus Ellwangen,
Felix Riesterer.
sort() kenne ich, aber ich dachte es sortiert mir dann die Werte?
Wenn statt Wert1 und Wert2 nun "Ziege" und "Apfel" herhalten würden, hätte ich die Reihenfolge doch vertauscht, oder?
Hello,
sort() kenne ich, aber ich dachte es sortiert mir dann die Werte?
Wenn statt Wert1 und Wert2 nun "Ziege" und "Apfel" herhalten würden, hätte ich die Reihenfolge doch vertauscht, oder?
Ja, aber Du hast so verknotet gefragt :-))
Sieh Dir meine Vorschläge an und mach Dir vor allem klar, dass Arrays in PHP keine isomorphen Strukturen sind, sondern Baumstrukturen. Jedes Element darin kann anders aussehen, als das andere. Über die Anordnung im Speicher ist (dem PHP-Nutzer) nichts bekannt.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hello,
Ich habe ein Array im Sinne von:
3 => 'Wert1',
7 => 'Wert2',
9 => 'Wert3'Daraus will ich erstellen:
0 => 'Wert1',
1 => 'Wert2',
2 => 'Wert3'
Die Funktion "Sort()" würde tatsächlich neu sortieren, aber Du schreibst hier, dass Du die Reihenfolge in der Elementekette beibehalten willst. Dafür eignen sich die Funktionen
http://www.php.net/manual/en/function.array-slice.php und
http://www.php.net/manual/en/function.array-splice.php
oder nimm eine einfache Schleife:
$_neu = array();
foreach($_alt as $element)
{
$_neu[] = $element;
}
Dadurch beginnt $_neu bei [0] und wird bis n-1 hochgezählt für n = Anzahl von $_alt
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hello,
oder benutze:
http://www.php.net/manual/en/function.array-values.php
$_neu = array_values($_alt);
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom