Zurück   klamm-Forum > Virtual World > Programmierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21.09.2011, 17:37:52   #1 (permalink)
** Losedealer **
Benutzerbild von Handymann

ID: 418952
Lose-Remote
Reallife

Reg: 27.08.2011
Beiträge: 346
Handymann sorgt für eine eindrucksvolle AtmosphäreHandymann sorgt für eine eindrucksvolle Atmosphäre
Standard 2 Arrays sortieren

Hallo ,

Ich habe 2 Arrays die ich gern sortieren möchte.
Das sortieren an sich ist ja kein Problem , es müssen aber bei beiden Arrays die Arrayschlüssel wieder zu einander passen.

Kann mir einer einen Tipp geben ?
Handymann ist offline   Mit Zitat antworten
Gesponsorte Links
Alt 21.09.2011, 17:47:47   #2 (permalink)
ist maskulin
Benutzerbild von DasGuru

ID: 420909
Lose-Remote
Gesperrt

DasGuru eine Nachricht über ICQ schicken DasGuru eine Nachricht über Skype™ schicken
Reg: 16.08.2008
Beiträge: 1.899
DasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz sein
Standard

meinst du asort() ?
Do not argue with an idiot. He will drag you down to his level and beat you with experience
99%Refback für alle
| Novoline-Spiele | ich zahle meine Schulden |
3 mio Lose + Aktivitätsboni bei eBesucher
| eSig



DasGuru ist offline   Mit Zitat antworten
Alt 21.09.2011, 18:00:22   #3 (permalink)
** Losedealer **
Benutzerbild von Handymann

ID: 418952
Lose-Remote
Reallife

Reg: 27.08.2011
Beiträge: 346
Handymann sorgt für eine eindrucksvolle AtmosphäreHandymann sorgt für eine eindrucksvolle Atmosphäre
Standard

asort() ist schon rictig , ich habe aber 2 unterschiedliche Arrays wo die Schlüssel nach dem sortieren wieder passen müssen.

Beispiel

Array1 = 3,2,1,4,5

Array2 = Auto,Bus,Fahrrad,Bahn,Motorrad

Nach dem Sortieren

Array1 = 1,2,3,4,5

Array2 = Fahrad,Bus,Auto,Bahn,Motorrad
Handymann ist offline Threadstarter   Mit Zitat antworten
Alt 21.09.2011, 18:26:48   #4 (permalink)
ist maskulin
Benutzerbild von DasGuru

ID: 420909
Lose-Remote
Gesperrt

DasGuru eine Nachricht über ICQ schicken DasGuru eine Nachricht über Skype™ schicken
Reg: 16.08.2008
Beiträge: 1.899
DasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz sein
Standard

in dem Falle würde ich mit einem assoziativen Array arbeiten.
Alles andere wäre wohl Pfusch.
Do not argue with an idiot. He will drag you down to his level and beat you with experience
99%Refback für alle
| Novoline-Spiele | ich zahle meine Schulden |
3 mio Lose + Aktivitätsboni bei eBesucher
| eSig



DasGuru ist offline   Mit Zitat antworten
Alt 21.09.2011, 18:30:14   #5 (permalink)
** Losedealer **
Benutzerbild von Handymann

ID: 418952
Lose-Remote
Reallife

Reg: 27.08.2011
Beiträge: 346
Handymann sorgt für eine eindrucksvolle AtmosphäreHandymann sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von DasGuru Beitrag anzeigen
in dem Falle würde ich mit einem assoziativen Array arbeiten.
Alles andere wäre wohl Pfusch.
Ich kann leider das Script nicht mehr ändern.
Muss es versuchen so hinzubekommen.

Habe mir es so gedacht , Arrays zu einem Array verbinden , sortieren und wieder trennen. Ist sowas möglich ?
Handymann ist offline Threadstarter   Mit Zitat antworten
Alt 21.09.2011, 18:46:05   #6 (permalink)
ist maskulin
Benutzerbild von DasGuru

ID: 420909
Lose-Remote
Gesperrt

DasGuru eine Nachricht über ICQ schicken DasGuru eine Nachricht über Skype™ schicken
Reg: 16.08.2008
Beiträge: 1.899
DasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz seinDasGuru kann auf vieles stolz sein
Standard

verwendet das Array gleiche Keys ? Dann sollte ein Übertrag auf ein a.Array per foreach-Schleife kein Problem sein
Do not argue with an idiot. He will drag you down to his level and beat you with experience
99%Refback für alle
| Novoline-Spiele | ich zahle meine Schulden |
3 mio Lose + Aktivitätsboni bei eBesucher
| eSig



DasGuru ist offline   Mit Zitat antworten
Alt 21.09.2011, 18:53:30   #7 (permalink)
** Losedealer **
Benutzerbild von Handymann

ID: 418952
Lose-Remote
Reallife

Reg: 27.08.2011
Beiträge: 346
Handymann sorgt für eine eindrucksvolle AtmosphäreHandymann sorgt für eine eindrucksvolle Atmosphäre
Standard

Hier der Code ,

Ich habe nicht so viel Ahnung von PHP und bin froh das ich das so hinbekommen habe.

PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
$empfang  explode("#"$_POST['Auswahl1']);
$databox1 explode(","$empfang[0]);

    for (
$i=0;$i<count($databox1);$i++){
     
$weitergabe ="";
     
$weitergabe trim($databox1[$i]);
     
     
$query="SELECT * FROM Einzelkompetenzen WHERE Id LIKE '".$weitergabe."' AND Showw LIKE '1'";
     
$ergebnis=mysql_db_query($db,$query);  
       
$row1 mysql_fetch_object($ergebnis);
       
$box2name[$i] = $row1->Name;
       
$box2value[$i] = $row1->Zuordnung_BT;
    }

$box2name array_filter($box2name); 
$box2name array_values $box2name );

$box2value array_filter($box2value); 
$box2value array_values $box2value );


Handymann ist offline Threadstarter   Mit Zitat antworten
Alt 22.09.2011, 07:39:03   #8 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.259
tleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehen
Standard

Zitat:
Zitat von Handymann Beitrag anzeigen
Habe mir es so gedacht , Arrays zu einem Array verbinden , sortieren und wieder trennen. Ist sowas möglich ?
Das ginge beispielsweise so:
PHP-Code:
1:
2:
3:
4:
$temp array_combine($array0$array1);
ksort($temp);
$array0 array_keys($temp);
$array1 array_values($temp); 
Aber wenn ich das richtig sehe, könnte man sich das in Deinem Code auch sparen, wenn Du das alles ein bisschen umstellst.

Momentan liest Du ja in einer Schleife jeden Eintrag einzeln aus und füllst damit zwei Arrays. Theoretisch könntest Du auch alles auf einmal auslesen und die Sortierung von MySQL machen lassen, dann sparst Du Dir diesen Zwischenschritt in PHP.

Folgendermassen:
PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
$empfang  explode("#"$_POST['Auswahl1']);
$databox1 explode(","$empfang[0]);

$escaped array_map('trim'$databox1);
$escaped array_map('mysql_real_escape_string'$escaped);
$query "SELECT * FROM Einzelkompetenzen WHERE Id IN (".implode(','$escaped).") AND Showw = '1' ORDER BY Name ASC";

$box2name $box2value = array();
$ergebnis=mysql_db_query($db,$query);  
while (
$row mysql_fetch_object($ergebnis)) {
       
$box2name[] = $row->Name;
       
$box2value[] = $row->Zuordnung_BT;

Hope that helps...
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse

Geändert von tleilax (22.09.2011 um 18:19:54 Uhr)
tleilax ist offline   Mit Zitat antworten
Alt 22.09.2011, 11:11:15   #9 (permalink)
alias Echnaton
Benutzerbild von transversalis

ID: 309239
Lose-Remote

Reg: 18.01.2008
Beiträge: 2.399
transversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehentransversalis genießt hohes Ansehen
Standard

Zitat:
Zitat von tleilax Beitrag anzeigen
PHP-Code:
1:
2:
3:
4:
while ($row mysql_fetch_object($ergebnis)) {
       
$box2name[$i] = $row->Name;
       
$box2value[$i] = $row->Zuordnung_BT;

Irgendwo musst Du noch das $i immer um 1 erhöhen, oder geht das automatisch ?
Muss $i anfangs initialisiert werden ?

PHP-Code:
1:
2:
3:
4:
5:
6:
$i ;
while (
$row mysql_fetch_object($ergebnis)) {
       
$box2name[$i] = $row->Name;
       
$box2value[$i] = $row->Zuordnung_BT;
       
$i++ ;

"transversalis teleport" sprach der Magier und war fort
transversalis ist offline   Mit Zitat antworten
Alt 22.09.2011, 11:42:46   #10 (permalink)
be forever curious
Benutzerbild von tleilax

ID: 27936
Lose-Remote

Reg: 20.04.2006
Beiträge: 2.259
tleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehentleilax genießt hohes Ansehen
Standard

Ohje, das habe ich total vergessen. Danke.
.lange tage und angenehme nächte, tlx
:.whatthemovie.com (Screenshots raten) | PHP ExportForce-Klasse
tleilax ist offline   Mit Zitat antworten
Alt 23.09.2011, 18:50:02   #11 (permalink)
** Losedealer **
Benutzerbild von Handymann

ID: 418952
Lose-Remote
Reallife

Reg: 27.08.2011
Beiträge: 346
Handymann sorgt für eine eindrucksvolle AtmosphäreHandymann sorgt für eine eindrucksvolle Atmosphäre
Standard

Ich musste es jetzt mit dieser Lösung machen.
Da auf dem Server nur PHP4 installiert ist :-(

Dein anderer Vorschlag funktioniert leider nicht , hätte mir besser gefallen.
Aber da kommen immer SQL Fehler "keine Resourcen" u.s.w.
Liegt bestimmt an der alten PHP Version.



PHP-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
<?php
function array_combine($arr1$arr2) {
    
$out = array();
   
    
$arr1 array_values($arr1);
    
$arr2 array_values($arr2);
   
    foreach(
$arr1 as $key1 => $value1) {
        
$out[(string)$value1] = $arr2[$key1];
    }
   
    return 
$out;
}
?>
PHP-Code:
1:
2:
3:
4:
$temp array_combine($array0$array1);
ksort($temp);
$array0 array_keys($temp);
$array1 array_values($temp); 

Vielen dank nochmal an euch für die Unterstützung !
Handymann ist offline Threadstarter   Mit Zitat antworten
Antwort

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[JavaScript] getElementById('ids') arrays? adblue Programmierung 2 05.02.2011 10:00:57
[PHP] Frage zu Arrays Paladin Programmierung 2 05.09.2007 22:02:10
[C++] Arrays ChristianK Programmierung 10 13.04.2007 10:01:56
[PHP] TPL-Sys - Wie mit Arrays umgehen? flaschenkind Programmierung 8 19.08.2006 16:37:26
[C] (assoziative) Arrays Grinch Programmierung 13 15.07.2006 21:14:48


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:48:58 Uhr.