php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.01.2006, 00:44  
Gast
 
Beiträge: n/a
Standard Problem mit Array-Sortierung

Möglicherweise liegt es an der fortgeschrittenen Uhrzeit, aber ich trete gerade ziemlich auf der Stelle und finde keine Lösung für mein Problem...

Ich habe zwei Arrays: Eines beinhaltet die Elemente, und ein zweites beinhaltet die Sortierung. Da die Sortierung der Elemente nachträglich erfolgen soll, muß ich diese beiden eindimensionalen Arrays verbinden, nach dem Sortierarray sortieren, dann die Indexes anpassen und anschließend wieder in ein eindimensionales Array, in dem nur die neugeordneten Elemente vorhanden sind, überführen. Kann eigentlich nicht so schwer sein... aber ich habe anscheinend eine Denkblockade.

Hier die zwei Beispielarrays:

$elemente(2;5;17);
$sortierung(3;1;2);

Herauskommen soll am Ende so etwas wie

$elemente[0] = 5
$elemente[1] = 17
$elemente[2] = 2

Ich habe probiert, diese Arrays mit

$sortierung = array(
"elemente_neu" => $elemente,
"sortierung_neu" => $sortierung
);

in ein mehrdimensionales Array zu überführen... aber ab da bin ich nicht mehr weitergekommen und drehe mich im Kreis.

Wäre toll, wenn mir jemand weiterhelfen könnte!!
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 18.01.2006, 01:40  
Gast
 
Beiträge: n/a
Standard

http://de3.php.net/array_multisort

PHP-Code:
<?php
$elemente
=array(2,5,17);
$sortierung=array(3,1,2);

array_multisort($sortierungSORT_ASC,SORT_NUMERIC$elemente);
print_r($elemente);
?>
 
Alt 18.01.2006, 01:49  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

naja... eigentlich brauchst du nichtmal array-multisort, sondern eine simple foreach-schleife

PHP-Code:
$elemente = array(2,5,17);
$sortierung = array(2,0,1); // array-indizierung fängt bei 0 an.
$ergebis = array();
foreach(
$sortierung as $key) {
   
$ergebnis[] = $elemente[$key];
}
print_r($ergebnis); 
... natürlich nur unter der annahme, dass alle indizes in $sortierung auch wirklich in $elemente vorkommen etc...
wahrscheinlich wird array_multisort auf änderungen und inkonsistenzen stabiler reagieren

grüße
axo
axo ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Array Problem dsmcg PHP Tipps 2006 3 07.12.2006 14:34
array problem andrew22 PHP Tipps 2006 10 18.10.2006 15:30
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
[Erledigt] Sortierung im Array mit Randomwerten PHP-Fortgeschrittene 2 03.08.2005 09:28
mysql mittels php abfragen- array problem PHP Tipps 2005-2 6 20.07.2005 15:21
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Array Problem [Ansatz ?] PHP Tipps 2005 0 27.01.2005 18:24
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
bbcode - Classe PHP-Fortgeschrittene 4 18.09.2004 17:30
Problem mit Checkboxvalues in Array PHP Tipps 2004 1 17.09.2004 15:00
Array Problem andrew22 PHP Tipps 2004 9 17.09.2004 10:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php multisort funktioniert nicht, 2 arrays in eines überführen, array multisort forech, php array multisort, php array multisort mehrdimensionales array, mehrdimensionales array in eindimensionales überführen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.