3 Werte miteinander vergleichen
Jimbo
- php
Hallo,
ich habe 3 Werte die ich vergleichen möchte, und denen soll dann nach der Größe die Werte 1 bis 3 zugeteilt werden.
Wie kann ich das am besten realisieren?
LG Jim
ich habe 3 Werte die ich vergleichen möchte, und denen soll dann nach der Größe die Werte 1 bis 3 zugeteilt werden.
Yippieh!
Nach anderthlab Stunden, habe ich (zumindest glaube ich das) die Lösung gefunden:
$hk['1'] = 4;
$hk['2'] = 3;
$hk['3'] = 10;
$max = max($hk);
$highest = array_search($max,$hk);
echo $hk[$highest];
unset ($hk[$highest]);
$max = max($hk);
$second = array_search($max,$hk);
echo $hk[$second];
unset ($hk[$second]);
sort($hk);
echo $hk['0'];
Das ganze ist jetzt noch unformatiert, müsste aber das richtige sein.
Gruß
Dynamite
PS:Wenn es richtig sein sollte, wäre es das erstemal das ich jemandem in diesem Forum helfen konnte, und nicht nur Hilfe in Anspruch genommen habe. Ein Prost hierauf :-)
echo $begrüßung;
ich habe 3 Werte die ich vergleichen möchte, und denen soll dann nach der Größe die Werte 1 bis 3 zugeteilt werden.
Nach anderthlab Stunden, habe ich (zumindest glaube ich das) die Lösung gefunden:
Die lässt sich reduzieren auf
$hk = array(); // explizite Variableninitialisierung ist im Prinzip ein Muss. Das Auslassen hat Features wie register_globals so erfolgreich anfällig für Sicherheitslücken gemacht.
$hk[] = 4; // explizite Keys sind nicht nötig
$hk[] = 3;
$hk[] = 10;
sort($hk);
Statt sort() ist vielleicht eine der anderen Sortierfunktionen für Arrays angebracht. Die Reihenfolge im Array nach dem Sortieren entspricht dann dem Wert, der gemäß Aufgabenstellung zugeteilt werden soll.
echo "$verabschiedung $name";
[latex]Mae govannen![/latex]
$hk = array(); // explizite Variableninitialisierung ist im Prinzip ein Muss. Das Auslassen hat Features wie register_globals so erfolgreich anfällig für Sicherheitslücken gemacht.
$hk[] = 4; // explizite Keys sind nicht nötig
$hk[] = 3;
$hk[] = 10;
Dann kann man auch gleich $hk = array(4, 3, 10);
schreiben, oder?
sort($hk);
Statt sort() ist vielleicht eine der anderen Sortierfunktionen für Arrays angebracht. Die Reihenfolge im Array nach dem Sortieren entspricht dann dem Wert, der gemäß Aufgabenstellung zugeteilt werden soll.
Es hat mir zwar auch in den Fingern gejuckt, entsprechendes vorzuschlagen, aber wir wissen nicht, ob das Array nicht an anderer Stelle noch im Urzustand benötigt wird, daher sind Sortieren und andere Array-verändernde Lösungen potentiell "gefährlich".
Cü,
Kai
Es hat mir zwar auch in den Fingern gejuckt, entsprechendes vorzuschlagen, aber wir wissen nicht, ob das Array nicht an anderer Stelle noch im Urzustand benötigt wird, daher sind Sortieren und andere Array-verändernde Lösungen potentiell "gefährlich".
Vorher 'ne Kopie ziehen?
So, zurück von der Arbeit.
Das mit dem Array initialisieren hatte ich jetzt nicht mitgeschrieben, bin davon ausgegangen das es bei im als Array vorliegt, und mein Script sollte ja nur eine Stütze sein. Das mit dem löschen von Array-Elementen, sollte ja wohl kein Problem sein, er kann es ja jederzeit duplizieren, oder die MAX-Werte in ein neues Array schreiben, wo er sie dann sogar direkt in Reihenfolge hat
Grüße
Dynamite
echo $begrüßung;
$hk[] = 4; // explizite Keys sind nicht nötig
$hk[] = 3;
$hk[] = 10;Dann kann man auch gleich
$hk = array(4, 3, 10);
schreiben, oder?
Kann man, oder auch nicht. Es geht aus der Aufgabenstellung nicht hervor, wie die Werte vorliegen. Aber das ist für den Lösungsvorschlag ziemlich egal.
Es hat mir zwar auch in den Fingern gejuckt, entsprechendes vorzuschlagen, aber wir wissen nicht, ob das Array nicht an anderer Stelle noch im Urzustand benötigt wird,
Ein Array, das eben gerade erst für diesen Zweck angelegt wurde?
daher sind Sortieren und andere Array-verändernde Lösungen potentiell "gefährlich".
Wir wissen auch nicht, ob beim nächsten Tastendruck der Computer explodiert. Man kann es auch übertreiben ...
echo "$verabschiedung $name";