Hallohallo!
Für die Uni bastel ich im Moment an einer einfachen PHP-Seite. Die Aufgabenstellung ist die folgende: Wir sollen mithilfe objektorientierter Programmierung Daten sortieren, die in einem Formular eingegeben wurden. Zuletzt hatten wir das schon ohne Klasse gemacht; es geht halt nicht um sinnvolle Implementierung, sondern darum, das mal gemacht zu haben
Hier ist mein Code:
Die eingegebenen Daten sind übrigens fünf Namen, die man in einem HTML-Formular vorher eingegeben hat und die mit tn1 bis tn5 benannt sind.
Das Problem ist (in den Kommentaren im Quellcode wird das ja schon deutlich), dass die Sortiermethode einfach übergangen wird. Wenn ich nur die Sortiermethode aufrufe und darin z. B. eine Überprüfung mit if implementiere, wird die Sortierung allerdings durchgeführt. Das heißt, dass irgendwie die Ausgabe die Sortierung stört offenbar.
Bei
funktioniert die Sortierung dann übrigens auch. Aber so wie ich die Aufgabenstellung verstanden habe, sollen das Sortieren und das Ausgeben eben zwei verschiedene Methoden sein...
Es wäre klasse, wenn mir jemand helfen könnte! Ich denke, ich hab das Problem ausführlich dargestellt und hoffe, ich hab nix vergessen. Bitte habt Nachsicht, falls es n doofer Fehler ist - ich bin noch Anfänger
Schöne Grüße,
Daniel
Für die Uni bastel ich im Moment an einer einfachen PHP-Seite. Die Aufgabenstellung ist die folgende: Wir sollen mithilfe objektorientierter Programmierung Daten sortieren, die in einem Formular eingegeben wurden. Zuletzt hatten wir das schon ohne Klasse gemacht; es geht halt nicht um sinnvolle Implementierung, sondern darum, das mal gemacht zu haben
Hier ist mein Code:
PHP-Code:
<?php
class sortierdieelemente
{
/*Sortiert werden sollen die fünf
eingegebenen Namen. Darum müssen dafür
fünf Variablen und eine für das Array
vorab eingeführt werden.*/
public $name1;
public $name2;
public $name3;
public $name4;
public $name5;
public $namen = array();
/*In der Funktion sortieren() wird die
PHP-eigene Funktion sort() aufgerufen,
mit der die Werte des Arrays auf-
steigend sortiert werden.*/
public function sortieren($array)
{
sort($array);
}
/*Die Funktion ausgeben() gibt per
foreach() jedes Element des sortierten
Arrays aus und wird später im dann
initialisierten Objekt der Klasse
aufgerufen.*/
public function ausgeben($array)
{
foreach ($array as $element)
{
echo "<tr><td>$element</td></tr>";
}
}
}
/*Das Objekt wird initalisiert.*/
$arraysortierung = new sortierdieelemente;
/*Die Variablen $a bis $e dienen dazu, den
Code übersichtlicher zu gestalten. Da sie
in der Definition des $namen-Arrays benutzt
werden, bietet es sich an, sie abzukürzen
und nicht die Verweise mit ...->name zu
verwenden.*/
$a = $arraysortierung->name1=$_POST["tn1"];
$b = $arraysortierung->name2=$_POST["tn2"];
$c = $arraysortierung->name3=$_POST["tn3"];
$d = $arraysortierung->name4=$_POST["tn4"];
$e = $arraysortierung->name5=$_POST["tn5"];
/*Jetzt wird das Array $namen mit Werten
aus dem Formular gefüllt.*/
$namen = $arraysortierung->namen=array($a,$b,$c,$d,$e);
/*Hier sollte eigentlich sortiert werden,
die Sortierung wird aber im Moment noch
übergangen - warum auch immer!*/
$arraysortierung->sortieren($namen);
/*Die Funktion zur Ausgabe des Arrays wird
aufgerufen.*/
$arraysortierung->ausgeben($namen);
?>
Das Problem ist (in den Kommentaren im Quellcode wird das ja schon deutlich), dass die Sortiermethode einfach übergangen wird. Wenn ich nur die Sortiermethode aufrufe und darin z. B. eine Überprüfung mit if implementiere, wird die Sortierung allerdings durchgeführt. Das heißt, dass irgendwie die Ausgabe die Sortierung stört offenbar.
Bei
PHP-Code:
sort($namen);
$arraysortierung->ausgeben($namen);
Es wäre klasse, wenn mir jemand helfen könnte! Ich denke, ich hab das Problem ausführlich dargestellt und hoffe, ich hab nix vergessen. Bitte habt Nachsicht, falls es n doofer Fehler ist - ich bin noch Anfänger
Schöne Grüße,
Daniel

Kommentar