PHP - Paramètres d'une fonction
Résolu/Fermé
A voir également:
- PHP - Paramètres d'une fonction
- Fonction si et - Guide
- Paramètres windows - Guide
- Easy php - Télécharger - Divers Web & Internet
- Paramètres dns - Guide
- Paramètres de confidentialité - Guide
3 réponses
Bonjour
En PHP, une chaîne entre apostrophes doubles " " est analysée pour détecter la présence de noms de variable et les remplacer par leur valeur, alors qu'une chaîne entre apostrophes simples n'a pas besoin d'être analysée. Ce ne sont pas les fonctions qui sont plus ou moins rapides, c'est l'analyse des chaînes.
Tant qu'à optimiser... echo 'Ceci est un ',$test; est plus rapide que echo 'Ceci est un '.$test;
Dans le second cas , la chaîne et la variable sont sorties successivement sans traitement particulier
Dans le second cas, à cause du . php va d'abord créer une nouvelle chaîne en concaténant la chaîne et la variable, puis envoyer cette nouvelle chaîne
En PHP, une chaîne entre apostrophes doubles " " est analysée pour détecter la présence de noms de variable et les remplacer par leur valeur, alors qu'une chaîne entre apostrophes simples n'a pas besoin d'être analysée. Ce ne sont pas les fonctions qui sont plus ou moins rapides, c'est l'analyse des chaînes.
Tant qu'à optimiser... echo 'Ceci est un ',$test; est plus rapide que echo 'Ceci est un '.$test;
Dans le second cas , la chaîne et la variable sont sorties successivement sans traitement particulier
Dans le second cas, à cause du . php va d'abord créer une nouvelle chaîne en concaténant la chaîne et la variable, puis envoyer cette nouvelle chaîne
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
17 mars 2008 à 17:01
17 mars 2008 à 17:01
Pour te répondre d'après mon expérience je dirais qu'il n'y a aucune différence de temps entre :
mkdir('toto'); et mkdir("toto");
Par contre dans l'exemple concernant le echo, là je suis d'accord qu'il peut y avoir une différence. Pourquoi ? Certainement parce que l'algo de recherche des variables à remplacer devient plus long dans l'exemple 2 que le 1 (il faut regarder / remplacer à l'intérieur même des chaines à afficher, et pas dans le premier exemple).
mkdir('toto'); et mkdir("toto");
Par contre dans l'exemple concernant le echo, là je suis d'accord qu'il peut y avoir une différence. Pourquoi ? Certainement parce que l'algo de recherche des variables à remplacer devient plus long dans l'exemple 2 que le 1 (il faut regarder / remplacer à l'intérieur même des chaines à afficher, et pas dans le premier exemple).
17 mars 2008 à 16:48
Merci pour la réponse, j'en déduis donc que quel que soit le cas, une chaîne entre simple quotes est traitée plus rapidement qu'une chaîne entre double quotes.
J'avais vu aussi la petite différence entre la virgule et le point pour la fonction echo, je n'en ai pas parlé car la question portait plus sur l'ensemble des fonctions (exemple mkdir('truc/'.$test) est mieux que mkdir("truc/$test"))
Je mets en résolu, merci encore ^^