Gå til innhold

variabel hvorfor anførselstegn


Anbefalte innlegg

Skrevet

Når vi oppretter variabler så bruker vi noen ganger "" rundt det vi ønsker å lagre i

variabelen. Eks $var = "Hei!";

Hvorfor bruke vi "" og i hvilke tilfeller skal det ikke brukes?

Videoannonse
Annonse
Skrevet

Ikke at jeg har veldig stor peiling på dette, men har merket at PHP registrer:

$var = "Hei!"; som noe annet en: $var = 'Hei!';

Spesielt når du har med HTML koder i setningen. Det er som når du bruker: ' '

Så hopper den over html koden eller noe? :S Dunno jeg, men har merket forskjell :S

Skrevet

Hvis du skal inkludere variabler så må du bruke "".

 

Feks

 

$var1 = "Hei";

 

echo "Variabel 1: {$var1}"; // Output: Variabel 1: Hei

echo 'Variabel 1: {$var1}'; // Output: Variabel 1: {$var1}

 

Hvis du skal inkludere en varabel med '' så må du bruke

 

echo 'Variabel 1: ' . $var1;

 

Håper du forsto :)

Skrevet
Ikke at jeg har veldig stor peiling på dette, men har merket at PHP registrer:

$var = "Hei!"; som noe annet en: $var = 'Hei!';

Spesielt når du har med HTML koder i setningen. Det er som når du bruker: ' '

Så hopper den over html koden eller noe? :S Dunno jeg, men har merket forskjell :S

Nope, ingen forskjell.

 

<?php

var_dump ( 'Hei!' === "Hei!" );

?>

De er ikke bare like; de er identiske. ;)

Skrevet

Eneste forskjellen jeg har merket på ' og " er at " kan inneholde ' uten at parseren tolker det som om tekststrengen avsluttes. F.eks:

 

$streng = '<div id=\'' . $heisann_id . '\' style=\'font-size: 12px;\'>Heisann</div>';

Kan enklere skrives slik:

$streng = "<div id='" . $heisann_id . "' style='font-size: 12px;'>Heisann</div>";

Skrevet (endret)

Det er også verdt å merke seg forskjellen på disse to:

echo 'Hello World!\n';

og

echo "Hello World!\n";

 

Kun den sistnevnte vil printe \n som "new line".

Endret av clvn
Skrevet
Hvis du skal inkludere variabler så må du bruke "".

 

Feks

 

$var1 = "Hei";

 

echo "Variabel 1: {$var1}"; // Output: Variabel 1: Hei

echo 'Variabel 1: {$var1}'; // Output: Variabel 1: {$var1}

 

Hvis du skal inkludere en varabel med '' så må du bruke

 

echo 'Variabel 1: ' . $var1;

 

Håper du forsto :)

 

 

Takk :)

Skrevet

<?php
$a = "test";

$b = 'Dette er en $a';

$c = "Dette er en $a";

echo $b;

echo $c;

 

Koden over printer ut:

 

Dette er en $a

Dette er en test

Skrevet

Hei

 

Anførselstegn gjør at variabelen ($variabel) blir behandlet som tekst.

 

Avhengig av hva du setter variabelen til vil den oppføre seg annerledes. I andre programmeringsspråk definerer man gjerne hva slags data som skal inn i variabelen.

 

F.eks, i C++ eller Java kan man skrive:

int heltall = 10;

string tekst = "Hei verden";

 

PHP skjønner automatisk hva slags variabel det er snakk om, så hvis du skriver:

$heltall = 10; så behandler PHP denne variabelen som et tall.

skriver du: $tekst = "Hei verden"; - behandler PHP denne variabelen som tekst.

 

I C++ kan du ikke når du først har satt en variabel som f.eks et heltall bruke det som en streng, f.eks kan du ikke skrive:

int heltall = 10;

heltall = "Hei verden";

 

Men dette kan du i PHP siden PHP sine variabler er dynamiske, så når du skriver $heltall = 10; <- behandler PHP denne variabelen som et tall, skriver du etterpå $heltall = "Hei verden"; <- blir variabelen gjort om til tekst.

 

Forståelig?

Skrevet
I C++ kan du ikke når du først har satt en variabel som f.eks et heltall bruke det som en streng, f.eks kan du ikke skrive:

Man kan, men man må konvertere (Heter noe annet, kommer ikke på det :S) den først. Dessuten er det verdt og merke seg at '' brukes rundt char variabler i C++, og kan ikke brukes rundt strings og omvendt.

 

Det er vell en liten ytelsesforskjell også mellom "" og ''. "" er vell raskest. Hvor mye dette har og si vet jeg ikke, men sto i allefall nevnt i boka Webprogramering i PHP

Skrevet (endret)

Doble hermetegn er tregere enn enkle, men det er ubetydelige forskjeller.

 

Og ikke si at man kan bruke en int som string i C++, man må bare "konvertere" (aka. caste) dem først. Først når det foregår en implisitt typekonvertering mellom int og string utifra kontekst kan du snakke om at den ene kan brukes som den andre.

Endret av hockey500
Skrevet

Vell mente vell ikke at man bruke de om hverandre, men et virka som om du sa man ikke hadde noen muligheter til å caste mellom datatyper. Ser det ble litt dårlig formulert fra min side.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...