Très basique, mais j'aimerais connaître les différences de sécurité/différences d'utilisation de "vs". Est-ce que quelqu'un peut donner un exemple qui explique quand utiliser chacun d'eux?Quelle est la différence entre "et" lors de la création de chaînes en PHP?
Répondre
Il y a beaucoup de différences subtiles, vous aurez envie de lire le php documentation pour obtenir beaucoup de détails, mais les détails importants sont:
Les guillemets doubles sont analysées alors que les guillemets simples sont littérales.
Vous pouvez utiliser des variables en ligne avec des guillemets, mais pas avec des guillemets simples.
Il y a quelques prises si:
<?php
$beer = 'Heineken';
echo "$beer's taste is great"; // works; "'" is an invalid character for variable names
echo "He drank some $beers"; // won't work; 's' is a valid character for variable names but the variable is "$beer"
echo "He drank some ${beer}s"; // works
echo "He drank some {$beer}s"; // works
?>
Les guillemets simples sont un peu plus rapide.
ils sont plus rapides car php ne vérifie pas les chaînes pour les variables – sshow
Droite, car ce sont des littéraux, pas des chaînes analysées. – cgp
il convient de souligner que, bien que oui, les guillemets simples sont plus rapides, la différence est minuscule et ne doit pas être surestimée. – nickf
Lorsqu'une chaîne est placée entre guillemets, des séquences d'échappement telles que \n
et des identificateurs de variable tels que $var
sont interprétés. Voir les PHP strings manual pour des détails spécifiques et des exemples.
+ 1 pour avoir inclus des informations sur les séquences d'échappement, ce qu'aucune autre réponse ne semble avoir ici. –
Le le plus grand est ceci. A l'intérieur des guillemets doubles, vous pouvez inclure des variables, mais à l'intérieur des guillemets simples, le nom de la variable sera littéral:
$var1 = "hello";
// this will echo "hello world"
echo "$var1 world";
// this will echo $var1 world
echo '$var1 world';
En utilisant guillemets doubles devient extrêmement utile dans un certain nombre de situations, expecially lorsque vous placez { } autour des noms de variables. Voici quelques exemples (certainement d'autres peuvent vous donner plus d'exemples):
// array elements
echo "Element 5 is {$myArray[5]}";
echo "Element 2 subelement 3 is {$myArray[2][3]}";
//
// a dynamic key
$value = "thing";
$someValue = $myArray["some{$value}"]; // returnd $myArray[something]
- 1. Quelle est la différence entre « et" en JavaScript?
- 2. Quelle est la différence entre dict() et {}?
- 3. quelle est la différence entre:.! et: r !?
- 4. Quelle est la différence entre ces deux chaînes?
- 5. Comment trouvez-vous la différence entre 2 chaînes en PHP?
- 6. Quelle est la différence entre = et: =
- 7. Quelle est la différence entre les schémas W3 et xmlsoap.org?
- 8. Quelle est la différence entre AppDomain.CurrentDomain.BaseDirectory et Application.ExecutablePath en pratique?
- 9. Quelle est la différence entre 'int?' et 'int' en C#?
- 10. Quelle est la différence entre read et readline en C#?
- 11. Quelle est la différence entre IContainer et IUnityContainer de Prism?
- 12. Quelle est la différence entre Convert.Int32() et Int32.Parse()?
- 13. Quelle est la différence entre propriétaire et utilisateur (WindowsIdentity)?
- 14. Quelle est la différence entre DOCUMENT_URI et URI_REQUEST dans SSI?
- 15. jQuery: Quelle est la différence entre '$ (this)' et 'this'?
- 16. Quelle est la différence entre memset et memcpy dans C
- 17. Quelle est la différence entre _itoa et itoa?
- 18. Quelle est la différence entre EM Dash # 151; et # 8212 ;?
- 19. Quelle est la différence pratique entre xml, json, rss et atome lors de l'interfaçage avec Twitter?
- 20. Quelle est la différence entre nohup et un démon?
- 21. Quelle est la différence entre l'événement onFocus et onMouseEnter?
- 22. Quelle est la différence entre "someValuesFrom" et "allValuesFrom"?
- 23. Quelle est la différence entre synchronisation synchronisée et statique?
- 24. Quelle est la différence entre un assistant et un partiel?
- 25. Quelle est la différence entre exit() et abort()?
- 26. Quelle est la différence entre this.click() et $ (this) .click()?
- 27. Quelle est la différence entre -ggdb gcc et -g gcc
- 28. Quelle est la différence entre latin1_general_ci et utf8_bin dans MYSQL
- 29. Quelle est la différence entre AddConcreteType et TheDefaultIsConcreteType dans StructureMap?
- 30. Quelle est la différence?
Avez-vous lu le manuel encore? http://docs.php.net/manual/en/language.types.string.php – Gumbo
il y a beaucoup de discussion sur SO ces différences. – SilentGhost