Wörter einlesen und alphabetisch sortieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wörter einlesen und alphabetisch sortieren

    Hi,

    also ich hab folgendes Problem. Ich soll als Hausaufgabe folgendes Problem lösen:

    Erstellen Sie ein PHP-Skript, welches drei eingegebene Wörter alphabetisch aufsteigend sortiert. Benutzen Sie für die Eingabe der Wörter ein Forumlar und im PHP-Skript echo-Anweisungen, um das Ergebnis darzustellen. Verwenden Sie die Selbstverweistechnik.

    So also wir sind grad bei if anweisungen, da würde es nahe liegen es mit einer if anweisung zu machen. Bloß die daten die ich einlesen sind ja texte, also lässt es sich schlecht irgendwie vergleichen. ich hatte folgende idee, welche aber nicht funktioniert.

    Quellcode

    1. <?php
    2. if (!isset($name1) && !isset($name2) && !isset($name3)) {
    3. echo "<form action='$PHP_SELF' method='post'>";
    4. echo "<input type='text' name='name1'> <br />";
    5. echo "<input type='text' name='name2'> <br />";
    6. echo "<input type='text' name='name3'> <br />";
    7. echo "<input type='submit' value='Go!'><br />";
    8. echo "</form>";
    9. } else {
    10. if($name1>$name2 && $name1>$name3 && $name2>$name3) {
    11. echo $name1 . "<br />";
    12. echo $name2 . "<br />";
    13. echo $name3 . "<br />";
    14. } elseif($name2>$name3 && $name2>$name1 && $name1>$name3) {
    15. echo $name2 . "<br />";
    16. echo $name1 . "<br />";
    17. echo $name3 . "<br />";
    18. } else {
    19. echo $name3 . "<br />";
    20. echo $name2 . "<br />";
    21. echo $name1 . "<br />";
    22. }
    23. }
    24. ?>
    Alles anzeigen


    Über anregungen und hilfe freu ich mich natürlich.

    ps.: vielleicht ist meine idee auch einfach zu umständlich :)
    Mit Zitat antworten
  • ich kann mir zwar leider nichts unter einer "Selbstverweistechnik" vorstellen, aber du hast ein paar Fehler im code:

    Wenn es schon HTML valide sein soll, dann musst du neben den BRs auch die INPUTs schließen.
    Außerdem musst du auf s.g. Superglobalen zurückgreifen um serverpfad und post Inhalte auszulesen. ($_SERVER, $_POST, $_GET, ...)
    Ich hoffe ihr lernt es nicht ohne diese, denn Superglobale sind in aktuellen PHP Versionen Pflicht! (Informationen unter "register_globals")

    Quellcode

    1. <?php
    2. if (!isset($_POST['submit'])) {
    3. echo '<form action="'. $_SERVER['PHP_SELF'] .'" method="post">
    4. <input type="hidden" name="max" value="3" />
    5. <input type="text" name="name1" /> <br />
    6. <input type="text" name="name2" /> <br />
    7. <input type="text" name="name3" /> <br />
    8. <input type="submit" value="Go" /> <br />
    9. </form>';
    10. } else {
    11. $arr = array();
    12. for($i=1; $i<=$_POST['max']; $i++) {
    13. if(isset($_POST['name'.$i]))
    14. $arr[] = $_POST['name'.$i];
    15. }
    16. asort($arr);
    17. implode('<br />',$arr);
    18. }
    19. ?>
    Alles anzeigen