Des apostrophes ou des guillemets pour la variable de concaténation?
Est-il préférable de concaténer une variable (par exemple, $name
) dans une chaîne de caractères (par exemple, $string
) comme ceci:
$string='Hi, my name is '.$name
ou intégrer la variable dans la chaîne comme ceci:
$string="Hi, my name is $name";
ou est-il préférable d'utiliser une fonction comme ceci:
$string=sprintf("Hi, my name is %s",$name);
Qui est de mieux en termes de temps processeur/efficacité?
- Je dirais que ça dépend de qui est à venir à partir de... la saisie de l'utilisateur ou d'un système d'entrée
- Y aurait-il des écarts de performances? c'est à dire, plus de temps processeur avec chaque?
- double possible de PHP - "Sal mall est $emo" vs "Sal du centre commercial est ".$emo - chaîne avec des citations de concaténation efficacité
- /me des ondes dans le sitepoint célébrité dan grossman.
- Faut lire: Infirmer les Guillemets Simples Performance Mythe (Jan 2012; par NikiC)
- Peut-être que ça dépend sur quel système vous utilisez? Les guillemets simples ont été les plus rapides sur le x86 olllld serveur j'ai utilisé il y a des années, lorsque cela a été posté
Vous devez vous connecter pour publier un commentaire.
Tout le monde qui a fait le test a conclu que l'utilisation des guillemets simples est un peu meilleure performance sage. Dans la fin des guillemets simples en résulte qu'une concaténation alors que les guillemets doubles forces de l'interprète pour analyser l'intégralité de la chaîne pour les variables.
Cependant la charge ajoutée en faire trop petit pour les dernières versions de PHP qui la plupart du temps, la conclusion est qu'il n'a pas vraiment d'importance.
Donc pour la performance des personnes: utiliser les guillemets simples. Pour le "j'aime mon code lisible"-les personnes: les guillemets sont beaucoup mieux pour la lisibilité, comme Flavius Stef l'a déjà souligné.
Edit: Une chose - Si vous allez utiliser un seul dollar dans votre chaîne sans une variable, utilisez des guillemets simples pour vous! (http://www.weberdev.com/get_example-3750.html points qu'il va prendre 4 fois plus de temps pour analyser ces chaînes)
La différence entre les guillemets simples et doubles en PHP, c'est que les guillemets sont "intelligents", en ce qu'ils vont analyser pour les variables lorsqu'en cours de lecture, tandis que les guillemets simples sont "muets" et ne pas essayer d'analyser n'importe quel caractère dans la chaîne.
Ces résultat dans quelques légères différences dans les caractères que vous pouvez utiliser; en gros, le seul personnage vous devez vous échapper lors de l'utilisation de guillemets simples est une seule citation elle-même:
Alors que si vous utilisez des guillemets que vous avez pour échapper à d'autres personnages:
Mais il permet également de chouettes choses comme l'ajout d'une nouvelle ligne à la fin:
Avec des guillemets simples, il vous suffit de faire une concaténation:
Généralement, les apostrophes sont plus rapides, car ils sont "muets".
Toutefois, normalement, on ne devrait pas vraiment vous soucier de ces questions, que l'on appelle l'optimisation Prématurée, et doit être évitée.
Quelques mots au sujet de l'optimisation: en général, on doit d'abord écrire le programme de la façon dont il devrait fonctionner, et ensuite trouver les grands goulets d'étranglement et de résoudre les ceux. Si la chaîne de la vitesse est vraiment un problème pour vous en PHP, vous pouvez envisager de passer à une autre langue.
Concernant la vitesse: vous voudrez probablement de se concentrer davantage sur l'utilisation de la mémoire que sur le temps CPU. Dans ces cas, le temps de calcul peut être considéré comme assez constante. Le temps CPU est plus pertinent lors de l'écriture d'algorithmes qui va se répéter de nombreuses fois.
Concernant les concaténations: plus vous concaténer des chaînes à l'aide de la dot-opérateur, plus de mémoire que vous allez utiliser.
Considérez ceci:
echo $str1, $str2;
En général, je sens que l'utilisation de la chaîne d'interpolation (
"Hi, my name is $name"
) est mieux d'un point de vue de la lisibilité.Pour la performance, comme d'autres l'ont prouvé, il est légèrement plus rapide d'utiliser les guillemets simples plutôt que des guillemets doubles.
Guillemets simples, si elle est appliquée à la lisibilité de la science et tenus à l'écart de la subjectivité ajoute encore plus de "bruit". Le bruit et comment il se rapporte à la lisibilité est beaucoup parlé dans le livre de Code Propre et on pourrait en conclure que le plus non-blanc que vous avez à voir, plus elle nuit à la lisibilité. Si elle est appliquée à la subjectivité, la plupart des endroits que j'ai pris le temps de lire préfèrent unique de plus de guillemets doubles.
Utiliser votre jugement.
Est beaucoup plus lisible que:
Je vais vous avouer que:
Ressemble presque la même chose que:
Cependant, cette dernière présente moins de bruit et quand il y a beaucoup de code autour de chaque petit peu aide, pour ne pas mentionner les autres avantages que vous obtenez à partir de l'utilisation de guillemets simples.
En fin de compte, je préfère BAISER. Utilisez des guillemets simples, sauf si vous avez besoin de guillemets doubles. Simple convention qui est plus facile à taper, facile à entretenir, plus facile à analyser et plus facile à lire.
Il n'a pas d'importance du point de vue de la syntaxe. Les deux variantes sont corrects. Utilisez ce que vous sentez plus à l'aise.
Personnellement, je me sens mieux lors de l'utilisation de la
$string="Hi, my name is $name"
, parce que vous n'avez pas besoin de jouer avec des guillemets. Imaginez le complexe de requête SQL avec, disons, 10 variables...PHP est assez lent:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-088-introduction-to-c-memory-management-and-c-object-oriented-programming-january-iap-2010/lecture-notes/MIT6_088IAP10_lec01.pdf
Diapositive n ° 3
Donc ne vous inquiétez pas trop à propos de peu d'optimisations comme ces.
Se concentrer davantage sur l'utilisation de l'APC pour le cache de votre code en code octet si. Vous verrez de grands gains de vitesse pour le projet.
Personnellement, si c'est juste une variable normale, ou même à une propriété de classe, je préfère l'écrire comme ceci:
Cependant, si je suis en utilisant un tableau de valeurs puis je vais concaténer avec des guillemets simples.
Espérons que cela a du sens. Il s'agit de trouver de la convention et de s'y tenir.
... from a {$text['random']} array
, ou... from a $text[random] array
. Vous ne pour pour utiliser le {} méthode si vous faites référence à un tableau multidimensionnel, comme PHP analyseur n'est pas gourmand.$array[x][y]
obtiendrez analysée comme<contents of $array[x]><plain text [y]>
.Ma devise et la réponse est: Laisser les compilateurs d'écrire du code machine. Je vais vous dire ce que je veux dire...
Utilisez des guillemets simples, lorsque vous n'avez pas besoin d'inclure des variables PHP, sinon utiliser des guillemets.
Ne dérange pas sur les performances, l'utilisation de l'APC sur les serveurs de production. À la place se concentrer sur l'écriture la plus facile à gérer le code; utiliser les commentaires, les guillemets doubles etc. correctement même s'ils peuvent ralentir code vers le bas. Chaque optimisation, ce qui diminue la maintenabilité et la lisibilité du code est mauvais, il faut le laisser à l'opcode-cachers et compilateurs pour activer votre code en code machine, ne pas le faire vous-même... d'obscurcir votre code source en raison de l'optimisation des feux arrière.
L'unique chaîne de caractères entre guillemets est une meilleure option que le double chaîne de caractères entre guillemets alors que la concaténation des variables.
cliquez sur le lien pour mieux comprendre...
http://www.codeforest.net/php-myth-busters-using-single-quotes-on-string-is-faster-then-double-quotes
C'est le meilleur moyen, dans le sens de php et de html combinaison!
ou comme ceci:
C'est à l'ancienne!
Ou comme ceci:
C'est ce qu'un programmeur à venir à partir de Visual Basic ou d'autres langages de Programmation écrire!
J'espère que j'ai été utile.
"Hi, my name is $name"
est "vieux", et que'Hi, my name is '.$name
est en quelque sorte mieux!