[PHP] Wörter nur einmal benutzen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von delpiero, 9. Dezember 2008 .

Schlagworte:
  1. 9. Dezember 2008
    Wörter nur einmal benutzen

    Hiho Leute, vielleicht könnt ihr mir ja helfen.

    Wie schaffe ich es, das z.b. nur einmal "a vs. b" benutzt wird in dem Script?

    PHP:
    <? php
    $words 
    = array( "a" , "c" , "e" );
    $words2  = array( "b" , "d" , "f" );
    srand ((float) microtime () *  1000000 );
    shuffle ( $words );   
    shuffle ( $words2 );
    echo 
    "<b> $words [ 0 ] </b> vs. <b> $words2 [ 0 ] </b>" ;  
    ?>

    Wenn mir jemand helfen kann wäre ich ihm sehr dankbar .
     
  2. 9. Dezember 2008
    AW: Wörter nur einmal benutzen

    Was genau möchtest du mit den beiden Arrays machen?

    Ich steig' nicht durch, sorry.
     
  3. 9. Dezember 2008
    AW: Wörter nur einmal benutzen

    Er möchte glaube ich alle aus array1 ($words) gegen alle aus array2 ($words2) "antreten" lassen...

    PHP:
    $teamA  = array( "Spieler1a" "Spieler2a" "Spieler3a" );
    $teamB  = array( "Spieler1b" "Spieler2b" "Spieler3b" );

    shuffle ( $teamA );
    shuffle ( $teamB );

    foreach(
    $teamA  as  $memberA )
    {
       foreach(
    $teamB  as  $memberB )
       {
          echo 
    $memberA  " vs. "  $memberB ;
       }
    }
    // Edit:
    Hier falls du es anders gemeint haben solltest und du ein zufälliges one on one haben wolltest:
    (Die "Frage" ist doch etwas schwammig vormuliert...)
    PHP:
    $teamA  = array( "Spieler1a" "Spieler2a" "Spieler3a" );
    $teamB  = array( "Spieler1b" "Spieler2b" "Spieler3b" );

    shuffle ( $teamA );
    shuffle ( $teamB );

    foreach(
    $teamA  as  $memberA )
    {
      echo 
    $memberA  " vs. "  array_shift ( $teamB ) .  "<br />\n" ;
    }
     
  4. 9. Dezember 2008
    AW: Wörter nur einmal benutzen

    Nein, schon einzeln...

    also


    A vs B

    C vs D

    E vs F



    aber ich möchte schon dass das per zufall passiert, deswegen ja shuffle.

    Aber jede Paarung soll nur einmal vorkommen.

    Also wenn ich das Script so wie es jetzt ist benutze, ist ja die Chance da, das z.b.

    A vs. D

    nochmal antritt, aber A wurde schon ausgewählt, also sollte A nichtmehr vorkommen.

    Also die Paarung, die bereits steht, streichen.

    Es ist blöd zu erklären..:/
     
  5. 9. Dezember 2008
    AW: Wörter nur einmal benutzen

    PHP:
    function  getNewPair ( $firststring $secondarray $results )
    {
      
    $rand  mt_rand ( 0 count ( $secondarray )- 1 );
      
    $return  $firststring . " v. " . $secondarray [ $rand ];
      if (
    in_array ( $return $results ))  $return  getNewPair ( $firststring $secondarray $results );
      else return 
    $return ;
    }

    $first  = array( "a" "c" "e" "g" );
    $second  = array( "b" "d" "f" "h" );
    $results  = array();

    foreach (
    $first  as  $value )
    {
      echo 
    getNewPair ( $value $second $results ). "<br />" ;
    }
    Da ich mir immer nochnicht sicher bin, was du suchst, habe ich mal das gemacht =P

    Schau mal, ob es ist, was du gesucht hast - du brauchst aber auf jeden Fall eine rekursive Funtion (= eine Funktion, die sich selber aufruft), dann kannst du diese Ketten auf "vorhanden" überprüfen und einen neuen String generieren.
     
  6. 10. Dezember 2008
    AW: Wörter nur einmal benutzen



    PHP:
    <? php
    $words 
    = array( "a" , "c" , "e" );
    $words2  = array( "b" , "d" , "f" );
      
    shuffle ( $words2 );

    foreach(
    $words2  as  $w ) {
     print 
    array_shift ( $words ). ' vs. ' . $w ;
    }
    ?>
    ? Oder was meinst du^^
    Wenn du das erste Array auch random haben willst pack das shuffle wieder rein, aber ich denk mal wenn du das nach'm Alphabet oder so geordnet hast dann isses so praktischer, so haste wenigstens das erste immer noch geordnet...
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.