Ankündigung

Einklappen
Keine Ankündigung bisher.

Hilfe rand

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hilfe rand

    Ja hi brauche Hilfe
    kann mir einer mein Script korrigieren?
    Es sieht so aus:

    PHP-Code:
    <?php
    $werbung
    [1] = "Text1 - Komm ins Haus 1";
    $werbung[2] = "Text2 - Komm ins Haus 2";
    $werbung[3] = "Text3 - Komm ins Haus 3";

    $werbungs rand(1,3);

    echo 
    $werbungs;
    ?>
    Es soll einer der 3 Texte ausgeben Zufälliges
    Jedoch gibt der nur ne zahl aus 1 2 oder 3
    Kann mir bitte einer dringend helfen
    lg


  • #2
    PHP-Code:
    echo $werbung[rand(1,3)]; 
    Standards - Best Practices - AwesomePHP - Guideline für WebApps

    Kommentar


    • #3
      Ein Array beginnt bei Index 0, nicht 1.

      Kommentar


      • #4
        seins nich
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          Zitat von flayz Beitrag anzeigen
          Ja hi brauche Hilfe
          kann mir einer mein Script korrigieren?
          Es sieht so aus:

          PHP-Code:
          <?php
          $werbung
          [1] = "Text1 - Komm ins Haus 1";
          $werbung[2] = "Text2 - Komm ins Haus 2";
          $werbung[3] = "Text3 - Komm ins Haus 3";

          $werbungs rand(1,3);

          echo 
          $werbungs;
          ?>
          Jedoch gibt der nur ne zahl aus 1 2 oder 3
          Klar, weil du damit

          PHP-Code:
          $werbungs rand(1,3); 
          auch "nur" eine Zufallszahl erzeugst.

          Diese verwendest du dann als Index-Wert und greifst darauf auf deinen Array zu. Die Variablennamen könnten besser sein, vor allem $werbungs sagt nichts aus was darin enthalten sein könnte. Ich habe diese mal statt $werbungs mal $iRand genannt.

          PHP-Code:
          $werbung[1] = "Text1 - Komm ins Haus 1"
          $werbung[2] = "Text2 - Komm ins Haus 2"
          $werbung[3] = "Text3 - Komm ins Haus 3"

          $iRand rand(1,3);
          echo 
          $werbung[$iRand]; 
          Amerkungen noch: Ich würde die Obergrenze dynamsich machen, denn wenn du dein Array mal erweiterst, dann bleibt das sonst unberücksichtigt, wenn du nicht auch in rand den zweiten bei (1,3) anpasst. Also eher so:

          PHP-Code:
          $werbung[1] = "Text1 - Komm ins Haus 1";
          $werbung[2] = "Text2 - Komm ins Haus 2";
          $werbung[3] = "Text3 - Komm ins Haus 3";

          $iRand rand(1count($werbung));
          echo 
          $werbung[$iRand]; 
          Und der Vollständigkeit halber noch, du könntest alternativ auch das Array "durchmischen" und dafür immer fix den ersten Wert ausgeben, der bei dir [1] ist. (Wie oben erwähnt beginnen Arrays üblicherweise mit [0]. Dh mit shuffle() dann so:

          PHP-Code:
          $werbung[1] = "Text1 - Komm ins Haus 1";
          $werbung[2] = "Text2 - Komm ins Haus 2";
          $werbung[3] = "Text3 - Komm ins Haus 3";

          shuffle($werbung);
          echo 
          $werbung[1]; 
          LG
          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            Und der Vollständigkeit halber noch, du könntest auch das Array "durchmischen" und dafür immer fix den ersten Wert ausgeben, der bei dir [1] ist.
            Das glaube ich nicht, Tim... http://www.youtube.com/watch?v=cyahbRmlhW8

            Note: This function assigns new keys to the elements in array. It will remove any existing keys that may have been assigned, rather than just reordering the keys.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              *knarf* Ja, danke für die Richtigstellung. Meine Arrays beginnen sonst immer mit [0], erwischt.

              Funktionieren wird es mit [1] auch, jedoch ist dies dann der "zweite Wert" dann, was für die Ermittlung eines reines Zufallswertes ja egal ist.
              (Und ja die Serie kenn ich natürlich, "Flanellhemden-Al".)

              @flayz:

              Daher besser Arrays immer mit [0] beginnen lassen Schau hier und achte auf den Index:

              PHP-Code:
              $werbung[1] = "Text1 - Komm ins Haus 1";
              $werbung[2] = "Text2 - Komm ins Haus 2";
              $werbung[3] = "Text3 - Komm ins Haus 3";

              shuffle($werbung);
              print_r($werbung);

              /*
              Array
              (
                  [0] => Text3 - Komm ins Haus 3
                  [1] => Text1 - Komm ins Haus 1
                  [2] => Text2 - Komm ins Haus 2
              )
              */ 
              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                shuffle+rand ist zufall+zufall=zufall. Einmal Zufall reicht.
                Standards - Best Practices - AwesomePHP - Guideline für WebApps

                Kommentar


                • #9
                  Zitat von rkr Beitrag anzeigen
                  shuffle+rand ist zufall+zufall=zufall. Einmal Zufall reicht.
                  Mah, ich meinte alternativ natürlich, nicht zusätzlich. Hab es oben noch ergänzt.
                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar


                  • #10
                    Funktionieren wird es mit [1] auch, jedoch ist dies dann der "zweite Wert" dann, was für die Ermittlung eines reines Zufallswertes ja egal ist.
                    Da hast DU natürlich auch recht.
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar


                    • #11
                      nimmste immer den ersten wert, brauchste nicht prüfen, ob es überhaupt einen zweiten gibt.

                      Kommentar

                      Lädt...
                      X