Hallo, ich bin neu hier und erhoffe mir etwas Hilfe. Ich lerne seit kurzem den Umgang mit PHP und MySQL. (Dazu benutze ich das Buch PHP5/MySQL5 von Kannengiesser und das Internet).
Ich wollte mir mal ein kleines Programm basteln, ab da hab ich jetzt ein kleines Problem bei der Ausgabe und ich komm nicht drauf, was da falsch läuft.
Das Programm soll einen Zufallsnamen generieren und hat schon ein paar Einschränkungen (z.B. jeder 2. Buchstabe muss ein Vokal sein) usw. Es scheint mir jedoch bei der Ausgabe von q und qu ein Problem zu geben, da die Fehlermeldung nur kommt, wenn ein qu im Wort vorkommt.
Line 165 ist die drittletzte Zeile des Codes, indem die echo-Anweisung steht.
Hier ist mal der Code (ich weiß, das kann man sicher eleganter lösen als mit der switch Anweisung und der langen in_array Sache, aber so gut bin ich halt noch nicht
)
Wäre sehr dankbar, wenn mir wer sagen könnte an was das liegt.
Gruß
Ralf
Ich wollte mir mal ein kleines Programm basteln, ab da hab ich jetzt ein kleines Problem bei der Ausgabe und ich komm nicht drauf, was da falsch läuft.
Das Programm soll einen Zufallsnamen generieren und hat schon ein paar Einschränkungen (z.B. jeder 2. Buchstabe muss ein Vokal sein) usw. Es scheint mir jedoch bei der Ausgabe von q und qu ein Problem zu geben, da die Fehlermeldung nur kommt, wenn ein qu im Wort vorkommt.
Code:
Fehlermeldung bei Wörtern mit "qu" Ausgabe: quxatu // Das ist das ermittelte Wort durch die Zufallsfunktion Notice: Undefined index: 5 in C:\xampp\htdocs\name_gen.php on line 165
Hier ist mal der Code (ich weiß, das kann man sicher eleganter lösen als mit der switch Anweisung und der langen in_array Sache, aber so gut bin ich halt noch nicht
PHP-Code:
<?php
$car = 6; // Anzahl der Buchstaben des Wortes
srand ((double) microtime() * 1000000);
for($i=1; $i<=$car; $i++)
{
$zz = rand(1,26);
if(($i%2)==FALSE)
{
while(in_array($zz,array(2,3,4,6,7,8,10,11,12,13,14,16,17,18,19,20,22,23,24,25,26)))
{
$zz = rand(1,26);
}
}
switch($zz)
{
case (1):
$word[] = "a";
break;
case (2):
$word[] = "b";
break;
case (3):
$word[] = "c";
break;
case (4):
$word[] = "d";
break;
case (5):
$word[] = "e";
break;
case (5):
$word[] = "f";
break;
case (7):
$word[] = "g";
break;
case (8):
$word[] = "h";
break;
case (9):
$word[] = "i";
break;
case (10):
$word[] = "j";
break;
case (11):
$word[] = "k";
break;
case (12):
$word[] = "l";
break;
case (13):
$word[] = "m";
break;
case (14):
$word[] = "n";
break;
case (15):
$word[] = "o";
break;
case (16):
$word[] = "p";
break;
case (17):
if ($i==6)
{
$word[] = "q";
} else {
$word[] = "qu";
$i++;}
break;
case (18):
$word[] = "r";
break;
case (19):
$word[] = "s";
break;
case (20):
$word[] = "t";
break;
case (21):
$word[] = "u";
break;
case (22):
$word[] = "v";
break;
case (23):
$word[] = "w";
break;
case (24):
$word[] = "x";
break;
case (25):
$word[] = "y";
break;
case (26):
$word[] = "z";
break;
}
}
for ($j=0; $j<$car; $j++)
{
echo $word["$j"];
}
?>
Gruß
Ralf

So einfach gehts dann doch nicht.
Kommentar