Sehr einfache PHP-Anfängerfragen

  • Servus!


    Da ich wieder ein wenig dazulernen möchte wollte ich mal mit PHP anfangen.


    Leider scheitere ich jedoch schon an den einfachsten Sachen.
    Ich habe es probiert mit einer Randomzahlausgabe (funktioniert soweit auch).
    Jedoch funktioniert der Randomsatz Generator leider nicht.
    Bitte übt nachsicht mit mir, ich habe im Bereich PHP fast 0 Erfahrung.


    Hier einmal der Code (Auslachen ist nicht erlaubt! :D:D)



    <?php


    $zahl = rand(1,80);
    $word1 = array("Baum","Hund","Mann");
    $word2 = array("besoffen","gelangweilt","gechillt");
    $word3 = array("Garage","Einfahrt","Lobby");
    echo "Deine heutige Glückszahl ist die $zahl!\n\n";
    echo "Nun folgt ein zufällig generierter Satz:\n";
    echo "Der $word1 steht $word2 in der $word3 rum.";


    ?>

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • PHP
    <?php
    $zahl = rand(1,80);
    $zahl2 = rand(0,2);
    $word1 = array("Baum","Hund","Mann");
    $word2 = array("besoffen","gelangweilt","gechillt");
    $word3 = array("Garage","Einfahrt","Lobby");
    echo "Deine heutige Glückszahl ist die $zahl!\n\n";echo "Nun folgt ein zufällig generierter Satz:\n";
    echo "Der $word1[$zahl2] steht $word2[$zahl2] in der $word3[$zahl2] rum.";
    ?>


    Du brauchst eine zweite Zufallszahl von 0-2 (da Array mit 0 beginnt).

  • Du müsstest für die Wörter ebenfalls rand bzw. mt_rand (ist schneller, mehr siehe hier nutzen.


    PHP
    echo 'Der ' . $word1[mt_rand(0, 2)] . ' steht ' . $word2[mt_rand(0, 2)] . ' in der ' . $word3[mt_rand(0, 2)] . ' rum'; // ungetestet, sollte gehen

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.

  • Alternativ zu Grex' Methode kannst du die zufällige Zahl auch direkt in dem Index erstellen.
    Dadurch erhälst du mehr mögliche Lösungen der Sätze, anstatt nur 3 Sätze, welche jeweils immer gleich sind (Da ja von jedem Array ein zufälliger Wert genommen wird und nicht überall der gleiche Index).

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Soo, warum funzt der mist mit den Zeilenumbrüchen denn nicht? :P
    Desweiteren was würdet ihr mir empfehlen womit ich anfangen SOLLTE um langsam reinzukommen?


    //Edit:


    Wie ist das gemeint?


    Zitat

    Alternativ zu Grex' Methode kannst du die zufällige Zahl auch direkt in dem Index erstellen.
    Dadurch erhälst du mehr mögliche Lösungen der Sätze, anstatt nur 3 Sätze, welche jeweils immer gleich sind (Da ja von jedem Array ein zufälliger Wert genommen wird und nicht überall der gleiche Index).

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Kannst du so lösen, es gibt aber auch die Funktion:
    array_rand.


    MfG


  • Escape-Sequenzen sind meines Wissens nach so nicht möglich über eine echo-Ausgabe.
    Versuche es mit dem HTML-Äquivalent <br>, anstatt \n ;)


    edit: Was ich mit dem anderen Beitrag meinte:
    Wenn du Grex' Methode verwendest, gibt es einen zufälligen Index, auf den bei jedem der Arrays zugegriffen wird.
    Also gibt es nur die Möglichkeit wort1[0], wort2[0], wort3[0] - wort1[1], wort2[1], wort3[1] und wort1[2], wort2[2], wort3[2].
    Wenn du für jeden der Arrays eine eigene Zufallszahl erstellst, kommst du entsprechend auf 3^3 verschiedene Ergebnisse (3x wort1, 3x wort2, 3x wort3).

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

    Einmal editiert, zuletzt von Padarom ()

  • Das mit \n funktioniert nicht. Kommt drauf an, wo man es ausgeben möchte, aber im Browser muss es mit <br> gemacht werden.
    Wenn es eine Schnitstelle wird, wo z.B. dann der Datensatz in die DB kommt wird \n wieder passen.


    Ich denke aber auch, dass er eher mal fürn Anfang <br> verwenden wird ;)

  • Ich wüsste gern, wie Padarom das gemeint hat.
    Die Worte sollen ja komplett zufällig zusammengewürfelt werden und nicht nur 3 "standart-sätze" ergeben.
    Wie sollte man das umsetzen?


    //Edit: Hab seinen Edit gesehen, danke - Funzt nun so ;)


    Dann aber noch die Frage, womit ich anfangen sollte zu lernen um richtig reinzukommen.

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Habe meinen Beitrag editiert und das dazugeschrieben.
    Du kannst das dann quasi so umsetzen wie Greekz das schrieb, dead's Methode ist eigentlich das Gleiche.

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger