Gå til innhold

Rett bruk av " og '


Anbefalte innlegg

Videoannonse
Annonse
Skrevet

'' er best vis du skal stappe in html kode for eks <tag param="verdi">

så slepper du å escape "-ene. " er best når du skal bruke mange variable eller bruke SQL. Eks. "SELECT $variabel FROM" eller "INSERT INTO Tabel ('Hei alle samman')"

Skrevet

Altså, som en regel:

Bruk alltid enkle quotes( 'noe' ) dersom det ikke ødelegger for lesbarheta, eller at du trenger spesialtegn som newline, tabs osv. Skal du ha store tekster, legg dem i egne filer, og inkludér dem.

Skrevet

HEREDOC-syntaks kan også ofte brukast:

 

echo <<<ditt
<h1>$tittel</h1>
<a href="http://example.org/$var">$atom</a>
<p class="ingress">$ingress</p>
<p>$innlegg</p>
ditt;

... er det same som

echo "<h1>$tittel</h1>\r\n";
echo '<a href="http://example.org/'.$var.'">'.$atom.'</a>'."\r\n";
echo '<p class="ingress">'.$ingress.'</p>'."\r\n";
echo "<p>$innlegg</p>\r\n";

Skrevet
Husk også at det er raskere å bruke ' enn ", fordi PHP ikke må gå gjennom strengen og lete etter variabler som skal byttes ut.

Har du testet dette?

Eventuelle forskjeller vil være så minimale at det ikke noe å tjene på å bruke ' i steden for ".

 

Skillet går egentlig på at man ikke kan hente variabler i '

f.eks.

 

$var = "hehe";

echo "$var"; // output hehe

echo '$var'; // output $var

Gjest Slettet+6132
Skrevet
Har du testet dette?

Eventuelle forskjeller vil være så minimale at det ikke noe å tjene på å bruke ' i steden for ".

 

Skillet går egentlig på at man ikke kan hente variabler i '

f.eks.

 

$var = "hehe";

echo "$var"; // output hehe

echo '$var'; // output $var

'$var' vil bli nettopp $var på dokumentet siden PHP hopper over alle variabler når du bruker enkle quoter.

Gjest Slettet+6132
Skrevet
Jepp, det er det som står. Ved echo '$var' så vil output bli $var.

Å, beklager. Leste litt fort. Men uansett vil det da gå fortere, for PHP slipper å lete gjennom stringen etter variabler. Men forskjellen vil aldri kunne merkes.

Skrevet

Nå husker ikke jeg helt tallene fra sist jeg diskuterte dette, men ved mindre script var det ikke mulig å finne en forskjell i det hele tatt. Tilfeldighetene til selve serveren var avgjørende (serverload).

 

Ved 1000 echo'er eller lignende og definering av over 100 variabler (litt større script) så var det heller ingen forskjell på å skrive ut en litt lengre string. Forskjellen oppstod faktisk først når det var en variabel i stringen. Da ble det en minimal forskjell, den var faktisk på 0,01 - 0,02 sekunder.

 

Så det å påstå at det er raskere å bruke ' i steden for " er mer villedning enn veiledning.

Skrevet

Men det er likevel greit å holde seg til ' med mindre det er variabler i strengen, rett og slett fordi det er god kodepraksis, og også gjør det lett å se hvilke echoes som inneholder variabler og hvilke som ikke gjør det. Ytelsen er bare en bitteliten bonus. ;)

Skrevet
$var = "hehe";

echo "$var"; // output hehe

echo '$var'; // output $var

Hvorfor i det hele tatt bruke " når du skal printe en variabel alene? funker jo flotters med

 

print $var;

 

Jeg bruker bare " når der er mer tekst enn bare variabelen.. eks:

 

print "Svaret ble: ". $var ."";

Skrevet

Fordi det er kun et eksempel for å illistrere poenget, kan gjærne gjøre det slik:

 

$var = "hehe";

echo "Variabelen er: $var"; // Variabelen er: hehe

echo 'Variabelen er: $var'; // Variabelen er: $var

Skrevet

Bitelitt OT:

 

Er det noen som vet om det er en stor forskjell i ytelsen på " og heredoc-syntaksen?

 

Eks:

Er dette:

echo <<<end
$var
$var
end;

mye tregere enn dette:

echo "$var
$var";

?

Skrevet

Det er ikke på sånne funksjoner det er mulig å spare tide, og det er derfor jeg synes det er meningsløst å si at ' er mer effektivt enn ". Du må kjøre en loop med flere tusen echo'er før det har noe som helst å si, og scriptet må har litt størrelse.

 

Bruk ' og " som du vil, og bruk <<< når det passer best - f.eks. dersom du har både " og ' i teksten. Det er ikke verdt å bruke tid å teste hva som er raskest, for forskjellene er MINIMALE selv ved flere tusen echo'er.

Skrevet

Litt off topic, men siden det var snakk om variabler innenfor quotes:

Er det på noen som helst måte mulig å skrive ut en konstant? Hadde hatt behov for det i en HEREDOC.

Skrevet

Hva mener du med konstant... at du vil f.eks. skrive $var som $var og ikke verdien til variabelen?

 

\ brukes for å escape tegn, dvs. bruk echo "\$var"; for å skrive $var.

Skrevet

Nei, nei, nei ...

En konstant:

 

define("konstant", "et eller annet");

 

Er det mulig å skrive ut verdien INNI en HEREDOC, altså uten å gå ut av den?

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å
×
×
  • Opprett ny...