Vraag & Antwoord

Webprogrammeren & scripting

verschil tussen single- en double-quoted

14 antwoorden
  • is er een verschil waarom je een van deze twee notaties zou gebruiken [code:1:befcc01b67]echo 'waarom deze notatie'; echo "waarom deze notatie";[/code:1:befcc01b67] En maakt dat uit bij post en get? Dus [code:1:befcc01b67]$_POST['single']; $_POST["double"];[/code:1:befcc01b67] Zijn er redenen of voor het een of het ander te kiezen? Of is dat gewoon ieders voorkeur?
  • Vergelijk dit maar eens: [code:1:dd145f8aa9]echo 'Test\n123'; echo "Test\n123";[/code:1:dd145f8aa9] En dit: [code:1:dd145f8aa9]$test = 'hallo'; echo 'Test: $test\n123'; echo "Test: $test\n123";[/code:1:dd145f8aa9]
  • [quote:1a1065d50c="yolk2003"]is er een verschil waarom je een van deze twee notaties zou gebruiken [code:1:1a1065d50c]echo 'waarom deze notatie'; echo "waarom deze notatie";[/code:1:1a1065d50c] En maakt dat uit bij post en get? Dus [code:1:1a1065d50c]$_POST['single']; $_POST["double"];[/code:1:1a1065d50c] Zijn er redenen of voor het een of het ander te kiezen? Of is dat gewoon ieders voorkeur?[/quote:1a1065d50c] Het gebruik van enkele quotes is sneller. Recht-toe-recht-aan. Als je dubbele quotes gebruikt, dan worden sommige tekens in de string gezien als commando's. En deze moeten natuurlijk gedetecteerd worden met 'extra code', wat dus tijd kost. [url=http://nl3.php.net/types.string]Zie PHP-handleiding[/url] Ik geef zelf de voorkeur aan de enkele quote. [code:1:1a1065d50c] echo 'Het verwijderen van "c:\*.*" kost $ 1 ,-' [/code:1:1a1065d50c] de uitvoer is equivalent met [code:1:1a1065d50c] echo "Het verwijderen van \"c:\\*.*\" kost \$ 1 ,-" [/code:1:1a1065d50c] [url=http://www.google.nl/search?q=single+double+quotes+php&sourceid=mozilla-search&start=0&start=0&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:nl-NL:official]Genoeg literatuur op Google[/url]
  • [quote:331b098559]Ik geef zelf de voorkeur aan de enkele quote.[/quote:331b098559] Het gaat niet om voorkeur, maar om gebruiksdoel. Beide hebben een verschillende functie. Als je variabelen moet interpoleren, zijn enkele quotes gewoon onbruikbaar. Valt er niets te interpoleren, dan zijn enkele quotes beter.
  • [quote:121de27718="gerben"]Als je variabelen moet interpoleren, zijn enkele quotes gewoon onbruikbaar. Valt er niets te interpoleren, dan zijn enkele quotes beter.[/quote:121de27718][code:1:121de27718]echo 'Hoezo dubbele ' + $quotes + 'om te interpoleren?'[/code:1:121de27718]
  • Er zijn altijd meerdere wegen die naar rome leiden. :) echo "'Hoezo dubbele $quotes om te interpoleren?"
  • [quote:9a970042bc="Remytje"][quote:9a970042bc="gerben"]Als je variabelen moet interpoleren, zijn enkele quotes gewoon onbruikbaar. Valt er niets te interpoleren, dan zijn enkele quotes beter.[/quote:9a970042bc][code:1:9a970042bc]echo 'Hoezo dubbele ' + $quotes + 'om te interpoleren?'[/code:1:9a970042bc][/quote:9a970042bc] Wat een mislukt voorbeeld :). Strings mag je op deze manier niet aan elkaar plakken. Zo zou het moeten... [code:1:9a970042bc]echo 'Hoezo dubbele ' . $quotes . 'om te interpoleren?'[/code:1:9a970042bc] [quote:9a970042bc="gerben"]Er zijn altijd meerdere wegen die naar rome leiden. :) echo "'Hoezo dubbele $quotes om te interpoleren?"[/quote:9a970042bc] [code:1:9a970042bc] echo "Hoezo dubbele quotes om de variabele $_SERVER['PHP_SELF'] te interpoleren?"; [/code:1:9a970042bc] [b:9a970042bc]Parse error:[/b:9a970042bc] syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in
  • [quote:812ad2d77e="h4xX0r"]Wat een mislukt voorbeeld :). [/quote:812ad2d77e]Ik begin een beetje roestig te worden met PHP ;). Programmeer de laatste tijd enkel nog in C#. [quote:812ad2d77e="h4xX0r"] [code:1:812ad2d77e] echo "Hoezo dubbele quotes om de variabele $_SERVER['PHP_SELF'] te interpoleren?"; [/code:1:812ad2d77e] [b:812ad2d77e]Parse error:[/b:812ad2d77e] syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in[/quote:812ad2d77e]Dit zou wel moeten werken (maar nogmaals ik begin een beetje roestig te worden ;)): [code:1:812ad2d77e] echo "Hoezo dubbele quotes om de variabele {$_SERVER['PHP_SELF']} te interpoleren?"; [/code:1:812ad2d77e]
  • [quote:9c5e364387="Remytje"]Dit zou wel moeten werken (maar nogmaals ik begin een beetje roestig te worden ;)): [code:1:9c5e364387] echo "Hoezo dubbele quotes om de variabele {$_SERVER['PHP_SELF']} te interpoleren?"; [/code:1:9c5e364387][/quote:9c5e364387] Dit werkt ook: echo "Hoezo dubbele quotes om de variabele $_SERVER[PHP_SELF] te interpoleren?";
  • [quote:e3fe5ade07="E gozeling"]Dit werkt ook: echo "Hoezo dubbele quotes om de variabele $_SERVER[PHP_SELF] te interpoleren?";[/quote:e3fe5ade07]Het werkt, maar het is niet correct. Zie [url=http://nl2.php.net/manual/nl/language.types.array.php]Why is $foo[bar] wrong?[/url]
  • Wanneer je met [code:1:85d6476691]error_reporting(E_ALL)[/code:1:85d6476691] werkt, was dat ook wel naar boven gekomen ;). Imho zou PHP er beter aan doen omdat default op E_ALL te zetten :roll:
  • [quote:4c379cb141="Remytje"][quote:4c379cb141="E gozeling"]Dit werkt ook: echo "Hoezo dubbele quotes om de variabele $_SERVER[PHP_SELF] te interpoleren?";[/quote:4c379cb141]Het werkt, maar het is niet correct. Zie [url=http://nl2.php.net/manual/nl/language.types.array.php]Why is $foo[bar] wrong?[/url][/quote:4c379cb141]// The following is okay as it's inside a string. Constants are not // looked for within strings so no E_NOTICE error here print "Hello $arr[fruit]"; // Hello apple
  • leuk bedacht, maar in datzelfde voorbeeld waar je dat zinnetje vandaan haalt zie je dat fruit daarboven net als constante wordt gedefinieerd. Het is dus een voorbeeld wanneer een constante als constante en wanneer als bare string wordt gezien, niet of de methode goed of slecht is... even verderop wordt uitgelegd dat een bare string gebruiken niet ideaal is
  • [quote:7287f4f562="maIRnaairruJ"]leuk bedacht, maar in datzelfde voorbeeld waar je dat zinnetje vandaan haalt zie je dat fruit daarboven net als constante wordt gedefinieerd. Het is dus een voorbeeld wanneer een constante als constante en wanneer als bare string wordt gezien, niet of de methode goed of slecht is... even verderop wordt uitgelegd dat een bare string gebruiken niet ideaal is[/quote:7287f4f562] Why is $foo[bar] wrong? $foo[bar] los is inderdaad fout, maar zoals in het voorbeeld vermeld, mag het wel als de array in een string geplaatst is (tussen "") omdat daar de constanten niet geparsed worden.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.