theresa: zufälliges auswählen eines buchstabens

hi leute!

ich hab leider nichts passendes in den funktionsreferenzen für php gefunden, deshalb wende ich mich an euch.

ich möchte gerne aus einer vorgegebenen werteliste per zufall einen wert auswählen.

$wertearray = "a,g,r,w";

gibt es dafür in php eine funktion so ähnlich wie rand() nur halt aus einer definierten menge?

danke für eure hilfe/infos!!!!

theresa

  1. Hi,
    counte doch das array, mach dann ein rand von 0 bis anzahl-1 und nimm dann das resultierende, ok?

    MfG

    1. Hi,

      counte doch das array, mach dann ein rand von 0 bis anzahl-1 und nimm dann das resultierende, ok?

      es geht auch einfacher mit der Funktion array_rand().

      MfG Hopsel

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
      1. Hi,

        es geht auch einfacher mit der Funktion array_rand().

        zumindest geht es mit dieser funktion auch, soweit ich es verstanden
        habe wenn es ein assoziatives Array ist.

        MfG

  2. Hallo!

    ich möchte gerne aus einer vorgegebenen werteliste per zufall einen wert auswählen.

    $wertearray = "a,g,r,w";

    gibt es dafür in php eine funktion so ähnlich wie rand() nur halt aus einer definierten menge?

    <?php  
      $wertearray = array('a','g','r','w');  
      $rand = array_rand($wertearray);  
      echo $wertearray[$rand];  
    ?>
    

    siehe http://de3.php.net/array_rand

    oder auch

    <?php  
      $wertestring = 'agrw';  
      $rand = mt_srand(0, strlen($wertestring)-1);  
      echo $wertestring{$rand};  
    ?>
    

    siehe http://de3.php.net/types.string#language.types.string.substr

    Grüße
    Andreas

    --
    SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/
    1. Hi!

      $rand = mt_srand(0, strlen($wertestring)-1);

      mt_rand(), nicht mt_srand().

      Man kann die beiden Methoden übrigens auch kombinieren, wenn man lieber mt_rand() für den Array verwenden möchte, dann halt mit count() statt strlen().

      Grüße
      Andreas

      --
      SELFHTML Linkverzeichnis: http://aktuell.de.selfhtml.org/links/
    2. hi!

      danke für eure supergeniale hilfen, hat super geklappt so!!!

      lg,
      theresa