31. august 2008 - 17:25Der er
19 kommentarer og 1 løsning
Irriterende string fejl
Hej Eksperter, jeg får den her meget irriterende fejl, og jeg kan simpelthen ikke se hvad det er jeg gør forkert, håber i kan.
Dette er koden hvor fejlen forekommer:
$strmsg['1'] = "\" . $win['accountname'] . \" see that \" . $lose['accountname'] . \" is starting to look tired, and sets in with a final full strenght attack, that completly destroys \" . $lose['accountname'] . \" to bits.\"";
Fejlen er:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /xxxxx/xxxxx/xxxxx.com/xxxx/xxxxx.php on line 137
Prøv med : $strmsg['1'] = "\" . {$win['accountname']} . \" see that \" . {$lose['accountname']} . \" is starting to look tired, and sets in with a final full strenght attack, that completly destroys \" . {$lose['accountname']} . \" to bits.\"";
Dog forstår jeg slet ikke hvorfor du bruger alle de \". Det giver slet ingen mening når du også har . ved hver variabel. Måske du endda vil kunne bruge: $strmsg['1'] = " {$win['accountname']} see that {$lose['accountname']} is starting to look tired, and sets in with a final full strenght attack, that completly destroys {$lose['accountname']} to bits";
Eller måske: $strmsg['1'] = $win['accountname'] . " see that " . $lose['accountname'] . " is starting to look tired, and sets in with a final full strenght attack, that completly destroys " . $lose['accountname'] . " to bits.";
$strmsg['1'] = '"' . $win['accountname'] . ' see that ' . $lose['accountname'] . ' is starting to look tired, and sets in with a final full strenght attack, that completly destroys ' . $lose['accountname'] . ' to bits.'"';
Men du skal nok nærmere skrive den streng, som du gerne vil ende ud med.
dkfire: Det er fordi jeg lægger forskellige strings ind i en variable som så skal udskrives i en anden sammenhæng senere. Ved ikke om det virker på andre måder, men det var den måde jeg startede med det på, så nemmere bare at forsætte med det tror jeg.
Hmm får ikke den fejl der mere, men får heller ikke linjen udskrevet.
Koden er sådan her nu:
$strmsg['1'] = "\" . {$win['accountname']} . \" see that \" . {$lose['accountname']} . \" is starting to look tired, and sets in with a final full strenght attack, that completly destroys \" . {$lose['accountname']} . \" to bits.\"";
Koden er taget ud fra en angrebs function jeg har, så alt efter hvem der vinder en kamp via denne angrebs function vil så se denne tekst. Hvis vi siger at det er "Hejmeddig" der kæmper mod "Dummemand" og "Hejmeddig" vinder, vil den se sådan ud: "Hejmeddig see that Dummemand is starting to look tired, and sets in with a final full strenght attack, that completly destroys Dummemand to bits."
Men de eneste 3 linjer kode der som sådan har med det at gøre, er:
$strmsg['1'] = "\" . {$win['accountname']} . \" see that \" . {$lose['accountname']} . \" is starting to look tired, and sets in with a final full strenght attack, that completly destroys \" . {$lose['accountname']} . \" to bits.\"";
$strrand = rand(1,1);
echo nl2br("" . $strmsg['$strrand'] . "\n\n");
Hvis jeg tager "echo nl2br("" . $strmsg['$strrand'] . "\n\n");" og sætter "1" ind i stedet for "$strrand", så virker det fint, så på den måde vil jeg sige at det er random functionen jeg har lavet noget galt med?
Ja, som jeg skrev i mit indlæg 31/08-2008 18:27:23: Hvis jeg tager "echo nl2br("" . $strmsg['$strrand'] . "\n\n");" og sætter "1" ind i stedet for "$strrand", så virker det fint, så på den måde vil jeg sige at det er random functionen jeg har lavet noget galt med?
Det er måske heller ikke særlig optimalt at teste en funktion som rand() med kun ét tal at vælge imellem. Prøv at lave lidt flere sætninger inden du tester rand().
$strmsg['1'] = "\" . {$win['accountname']} . \" see that \" . {$lose['accountname']} . \" is starting to look tired, and sets in with a final full strenght attack, that completly destroys \" . {$lose['accountname']} . \" to bits.\"";
Springer over, mit var mere eller mindre samme forslag.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.