objorkum Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 Når skal ein bruke: echo "noko"; og: echo 'noko'; ? Lenke til kommentar
Zoxc Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 '' 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')" Lenke til kommentar
jorgis Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 Husk også at det er raskere å bruke ' enn ", fordi PHP ikke må gå gjennom strengen og lete etter variabler som skal byttes ut. Lenke til kommentar
dabear Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 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. Lenke til kommentar
Cucum(r) Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 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"; Lenke til kommentar
???????? Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 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 Lenke til kommentar
Gjest Slettet+6132 Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 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. Lenke til kommentar
???????? Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 Jepp, det er det som står. Ved echo '$var' så vil output bli $var. Lenke til kommentar
Gjest Slettet+6132 Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 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. Lenke til kommentar
???????? Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 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. Lenke til kommentar
jorgis Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 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. Lenke til kommentar
???????? Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 Det var der i mot et argument jeg kan støtte jorgis! Lenke til kommentar
power Skrevet 17. juni 2005 Del Skrevet 17. juni 2005 $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 .""; Lenke til kommentar
???????? Skrevet 17. juni 2005 Del Skrevet 17. juni 2005 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 Lenke til kommentar
Lokaltog Skrevet 17. juni 2005 Del Skrevet 17. juni 2005 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"; ? Lenke til kommentar
jorgis Skrevet 17. juni 2005 Del Skrevet 17. juni 2005 Lokaltog: Er vel bare å prøve? Kjør en while-løkke eller for-løkke som gjentar det et par tusen ganger og ta tiden. Lenke til kommentar
???????? Skrevet 17. juni 2005 Del Skrevet 17. juni 2005 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. Lenke til kommentar
DevN Skrevet 17. juni 2005 Del Skrevet 17. juni 2005 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. Lenke til kommentar
???????? Skrevet 17. juni 2005 Del Skrevet 17. juni 2005 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. Lenke til kommentar
DevN Skrevet 17. juni 2005 Del Skrevet 17. juni 2005 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? Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå