Avatar billede dank Nybegynder
13. juli 2003 - 14:33 Der er 6 kommentarer og
1 løsning

skal man bruge " eller ' i strenge og parse error

Jeg har et lille script, og efter jeg har sat ind lille stump kode ind i starten af scriptet virker min strenge ikke længere..

nu kommer der parse error ved

$tmp="blabla";

Hvis jeg ændrer det til

$tmp='blabla';

Så virker det fint... Hvad sker der?
Avatar billede detox Nybegynder
13. juli 2003 - 14:36 #1
Hvilken kode har du indsat i starten?
Avatar billede nicklasb Nybegynder
13. juli 2003 - 14:43 #2
ja, det ville hjælpe en del, hvis vi vidste hvad du har skrevet i starten :D
Men der ud over er dit andet eksempel i dette tilfælde den bedste (ved ikke om man kan kalde den den mest rigtige, men i hvert falde den bedste ;)
Avatar billede dank Nybegynder
13. juli 2003 - 14:43 #3
hmmm.. det var åbenbart fordi jeg havde kopieret en del af en sql statement fra en nano editor (shell) og linien var ved en fejl afsluttet med $ hvilet gav det sære resultat.

opret svar, så får du lidt for ulejligheden
Avatar billede detox Nybegynder
13. juli 2003 - 14:44 #4
Nevermind c",)
Avatar billede summersun Nybegynder
13. juli 2003 - 14:46 #5
du sætter med garanti din $tmp ind i en anden string...

så når du bruger $tmp="blabla"; så slutter du din string og så tror den at blabla er en variable eller noget andet..


eks.
"hej $tmp hvordan går det" det bliver til "hej"blabla"hvordan går det"

så derfor, hvis du vil have en en anden string inde i den så bruger single qouts ' :) da den det stadig vil blive opfattet som en string, men ikke "escapse" den


håber du forstår :)
Avatar billede squashguy Nybegynder
13. juli 2003 - 15:02 #6
summersun... jeg tror ikke helt det fungerer sådan. "" bruges til at indikere en streng. $tmp vil IKKE indholde citat tegn.

"hej $tmp hvordan går det"

vil derfor blive

"hej blabla hvordan går det"
Avatar billede nicklasb Nybegynder
13. juli 2003 - 15:42 #7
ja.. jeg tror også at der er noget du har misforstået summersun
hvis du skriver

$tmp = "bla bla";

betyder det bare at alle variabler i den streng skal skiftes ud med det der står i variablen. PHP søger altså ved denne løsning HELE strengen igennem til den finder et $..

Hvis du derimod KUN har brug for en foruddifineret tekst i variablen, fx. en header og en footer til en længere tekst, skal du bruge '-er i stedet. Her udskifter den ingen variabeler..
Så

$tmp = "bla bla";
echo $tmp;

vil udskrive [bla bla], mens

$navn = "JensLangkniv";
$tmp = "Hej $navn";
echo $tmp;

vil udskrive [Hej JensLangkniv]. Nu kommer vi så til den med '-erne:

$tmp = 'bla bla';
echo $tmp;

vil udskrive [bla bla] (hurtigere end hvis den var med "-er), men:

$navn = 'JensLangkniv';
$tmp = 'Hej $navn';
echo $tmp;

vil udskrive [Hej $navn].
Hvis man nu aligevel gerne vil bruge '-erne kan man bare slutte text-strengen og sætte den sammen med variablen. fx

$navn = 'JensLangkniv';
$tmp = 'Hej ' . $navn;
echo $tmp;

Altså med et punktum imellem.
Håber du kan se ud fra de små eksempler hvordan det virker med '-er frem for "-er og omvendt.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester