Array Problem

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

  • Array Problem

    edit wegen TobiaZ , hoffe es ist so ok:

    Hallo mal wieder ,

    Ich beschreibe mein Problem mal kurz:

    Will nen einfaches MasterMind Script aufsetzen und bin bis hierhin vorgedrungen:

    auswerung.php
    PHP-Code:
    <?php
    $i 
    $_POST['color']; // Anzahl der Stellen die Generiert werden sollen

    // Genieriert Zufallszahlen 0 bis 4 in dem array $farben (Genieriert sooft wie $i gross ist)
    for($n=0;$i>$n;$n++) {
       
    srand((double)microtime()*1000000);
       
    $farben[] = rand(0,4);


    $farbeni = array(0=>"Rot"1=>"Gruen"2=>"Blau"3=>"Gelb"4=>"Schwarz"); // Ein array das den Zufallszahlen Werte zuweist

    // Gibt den Zufallszahlen mit Hilfe des Arrays $farbeni eine Farbe
    for($n=0;$i>$n;$n++) {
       
    $color[$n] = $farbeni[$farben[$n]];
    }
    ?>
    <html>
    ...
       <table border="0" width="80%" bgcolor="#B0C4EA" class="td_all">
          <tr>
             <td><p align="center"><b>
    <?php
    print_r
    ($farben);
    echo 
    "<br>";
    print_r($farbeni);
    echo 
    "<br>";
    print_r($color);
    ?></b></p></td>
          </tr>
       </table>
    ...
    </html>
    So... Wenn ich nun die Datei aufrufe ist das array "$color" irgentwie "kaputt".
    Statt das es die kompletten Namen ausgibt wie "Gelb" "Schwarz" usw. gibt es nur den Anfangsbuchstaben "G" bzw "S" oder so an.

    Ausgaben:
    PHP-Code:
    print_r($farben); :
    Array ( [
    0] => [1] => [2] => [3] => // <-- Stimmt so.. soll auch so sein

    print_r($farbeni); :
    Array ( [
    0] => Rot [1] => Gruen [2] => Blau [3] => Gelb [4] => Schwarz // <-- OK ist klar... stimmt auch

    print_r($color); :
    BGGG // <-- Die is FALSCH !!! Soll ein array mit den KOMPLETTEN Namen bei rauskommen. 
    Kann mir jemand sagen wieso...

    Danke schonmal im voraus
    Zuletzt geändert von Schanz; 22.01.2006, 13:28.

  • #2
    1. mal den code gemäß unseren Regeln umbrechen
    2. mal testausgaben der einzelnen vars machen. erhalten alle vars die werte, die du erwartest?

    Kommentar


    • #3
      Bei mir gibts nicht nur den Anfangsbuchstaben aus.
      Mit var_dump() statt print_r() kommst du der Ursache vielleicht auf die Schliche.

      Übrigens wäre es so doch viel kürzer - weiß nur nicht, ob es das ist, was du letztlich erreichen möchtest:
      PHP-Code:
      shuffle($farben = array('Rot''Gruen''Blau''Gelb''Schwarz'));
      $anzahl min($_GET['color'], count($farben));
      for(
      $n 0$n $anzahl$n++) {
          echo 
      $farben[$n].'<br>';
          
      // $color[] = $farben[$n];

      Kommentar


      • #4
        Hehe... ja, danke... Kenn halt noch nicht so viele PHP Befehle
        Wieso geht das bei dir und bei mir nicht

        Kommentar

        Lädt...
        X