Je ne suis pas un expert en PHP - programmation, mais je ne comprends pas trop pourquoi je vois du code dans PHP avec une chaîne placée entre guillemets et parfois entre guillemets.
Je sais juste que dans .NET ou le langage C, si c'est entre guillemets simples, cela signifie que c'est un caractère, pas une chaîne.
PHP chaînes peuvent être spécifiées non seulement de deux manières, mais de quatre façons.
\'
et pour afficher une barre oblique inversée, vous pouvez l'échapper avec une autre barre oblique inversée \\
(Donc oui, même les chaînes entre guillemets sont analysées ).$type
et que vous souhaitiez echo "The $types are"
. Cela cherchera la variable $types
. Pour contourner cet usage, utilisez echo "The {$type}s are"
Vous pouvez mettre l'accolade de gauche avant ou après le signe dollar. Jetez un coup d'œil à string parsing pour voir comment utiliser des variables de tableau et autres.<<<
. Après cet opérateur, un identifiant est fourni, puis une nouvelle ligne. La chaîne elle-même suit, puis le même identifiant à nouveau pour fermer la citation. Vous n'avez pas besoin d'échapper aux guillemets dans cette syntaxe. <<<
que celle utilisée pour heredocs, mais l'identificateur qui suit est entre guillemets simples, par exemple. <<<'EOT'
. Aucune analyse n'est faite dans nowdoc.La vitesse:
Je ne mettrais pas trop de poids sur les guillemets simples étant plus rapides que les guillemets doubles. Ils sont probablement plus rapides dans certaines situations. Voici un article expliquant comment les guillemets simples et doubles sont essentiellement aussi rapides depuis PHP 4.3 (Useless Optimizations
vers le bas, section C
). En outre, cette page benchmarks présente une comparaison entre guillemets simples et doubles. La plupart des comparaisons sont les mêmes. Il existe une comparaison où les guillemets doubles sont plus lents que les guillemets simples.
Les choses sont évaluées entre guillemets mais pas en simples:
$s = "dollars";
echo 'This costs a lot of $s.'; // This costs a lot of $s.
echo "This costs a lot of $s."; // This costs a lot of dollars.
'
Simple citéLe moyen le plus simple de spécifier une chaîne consiste à la placer entre guillemets simples. Les guillemets simples sont généralement plus rapides et tout ce qui est cité à l'intérieur est traité comme une simple chaîne.
Exemple:
echo 'Start with a simple string';
echo 'String\'s apostrophe';
echo 'String with a php variable'.$name;
"
double citéUtilisez des guillemets doubles dans PHP pour éviter de devoir utiliser le point pour séparer le code (Remarque: utilisez des accolades {}
pour inclure des variables si vous ne souhaitez pas utiliser l'opérateur de concaténation (.
)) dans la chaîne.
Exemple:
echo "Start with a simple string";
echo "String's apostrophe";
echo "String with a php variable {$name}";
Oui. Il est légèrement plus rapide d’utiliser des guillemets simples.
PHP n'utilisera pas de traitement supplémentaire pour interpréter le contenu du devis unique. lorsque vous utilisez des guillemets doubles PHP doit analyser pour vérifier s'il y a des variables dans la chaîne.
Une chaîne entre guillemets simples ne contient aucune variable interprétée. Une chaîne entre guillemets fait.
De plus, une chaîne entre guillemets peut contenir des apostrophes sans barres obliques inverses, tandis qu'une chaîne entre guillemets peut contenir des guillemets non échappés.
Les chaînes entre guillemets simples sont plus rapides au moment de l'exécution car elles n'ont pas besoin d'être analysées.
En PHP, 'my name'
et "my name"
sont des chaînes. Vous pouvez en savoir plus à ce sujet dans le manuel PHP .
Ce que vous devez savoir sont
$a = 'name';
$b = "my $a"; == 'my name'
$c = 'my $a'; != 'my name'
En PHP, les utilisateurs utilisent des guillemets simples pour définir une chaîne constante, telle que 'a'
, 'my name'
, 'abc xyz'
, tandis que les guillemets doubles permettent de définir une chaîne contenant un identificateur comme "a $b $c $d"
.
Et autre chose est,
echo 'my name';
est plus rapide que
echo "my name";
mais
echo 'my ' . $a;
est plus lent que
echo "my $a";
Ceci est vrai pour les autres utilisateurs de chaîne.
<?php
$fname = "David";
// Single quotes
echo 'My name is $fname.'; // My name is $fname.
// Double quotes
echo "My name is $fname."; // My name is David.
// Curly braces to isolate the name of the variable
echo "My name is {$fname}."; // My name is David.
// Example of heredoc
echo $foo = <<<abc
My name is {$fname}
abc;
// Example of nowdoc
echo <<< 'abc'
My name is "$name".
Now, I am printing some
abc;
?>
En PHP, le texte guillemet simple est considéré comme une valeur de chaîne et le texte guillemet double analysera les variables en remplaçant et en traitant leur valeur.
$test = "variable";
echo "Hello Mr $test"; // the output would be: Hello Mr variable
echo 'Hello Mr $test'; // the output would be: Hello Mr $test
Ici, les guillemets doubles analysent la valeur et les guillemets simples sont considérés comme une valeur de chaîne (sans analyser la variable $ test.)
Les deux types de caractères inclus sont des chaînes. Un type de devis est utilisé commodément pour joindre l’autre type de devis. "'"
et '"'
. La plus grande différence entre les types de guillemets réside dans le fait que les références aux identificateurs fermés se substituent aux guillemets doubles, mais pas aux guillemets simples.
Peut-être que je suis un peu en retard et un peu hors sujet, mais le voici quand même…
Vous n'êtes pas obligé de choisir en raison du contenu de votre chaîne entre:alert("It's \"game\" time.");
ou alert('It\'s "game" time.');
Au lieu de cela, vous pouvez taper comme ceci, puis utiliser des guillemets simples ou doubles, car cela n’a aucune importancealert("It’s “game” time.");
et alert('It’s “game” time.');