18041 sujets
Questions générales et questions de débutants
Cela revient au même dans cette situation. La virgule sépare les différentes chaînes à traiter une par une par echo tandis que le point concatène (réunit) les chaînes en une seule avant de les passer à echo.
En général la virgule est légèrement plus rapide en traitement car il y a moins d'opérations à réaliser.
En général la virgule est légèrement plus rapide en traitement car il y a moins d'opérations à réaliser.
Merci beaucoup pour ces remarques pertinentes. Je viens d'apprendre quelque chose.
Par contre, j'ai un souci avec mon $enigmes. C'est un jeu du labyrinthe. J'ai créé mes tableaux directionnels plus un tableau éngimes $enigmes=array ();
le code :
isset pour déterminer si ma variable est définie...
Par contre, je ne sais pas où mettre $enigmes. Pour trouver la bonne porte, le joueur sera aidé d'une énigme. J'ai fait des tentatives mais qui n'ont rien données. Pour informer le joueur qu'il est dans la pièce X, je dois mettre un texte du genre "vous êtes dans la pièce x" :
Merci de votre aide.
Par contre, j'ai un souci avec mon $enigmes. C'est un jeu du labyrinthe. J'ai créé mes tableaux directionnels plus un tableau éngimes $enigmes=array ();
le code :
$piece = 0;
if(isset($_GET["numpiece"])) {
$piece = $_GET["numpiece"];
}
if($sud[$piece] !== -1) {
echo '<a href="../../index.php?numpiece=',$sud[$piece],'">SUD<img src="..."/></a>';
isset pour déterminer si ma variable est définie...
Par contre, je ne sais pas où mettre $enigmes. Pour trouver la bonne porte, le joueur sera aidé d'une énigme. J'ai fait des tentatives mais qui n'ont rien données. Pour informer le joueur qu'il est dans la pièce X, je dois mettre un texte du genre "vous êtes dans la pièce x" :
echo "Vous êtes dans la pièce x $piece[$piece];
Merci de votre aide.
Bonjour messieurs-dames,
A titre informatif:
Contrairement au point qui est un caractère de concaténation, la virgule est un caractère de juxtaposition.
La concaténation et la juxtaposition fonctionnent différemment mais aboutissent à un même résultat : l'affichage d'un ensemble de donnée.
La concaténation consiste à mettre bout-à-bout une série d'informations lorsque la juxtaposition consiste à les placer côte-à-côte (cette mécanique est mieux expliquée que je n'en suis capable).
Cette mécanique qui ne se différencie pas que par les termes, amène à un gain (infime) en vitesse de traitement.
Toutefois il est très important de prendre ceci en considération. Le caractère de juxtaposition peut-être utilisé à la place du caractère de concaténation uniquement dans le cas de la commande echo.
Ainsi
Classement d'une sortie de texte de la plus rapide à la plus lente:
C'est tout... pour le moment.
Modifié par Greg_Lumiere (20 Feb 2016 - 07:59)
A titre informatif:
Contrairement au point qui est un caractère de concaténation, la virgule est un caractère de juxtaposition.
La concaténation et la juxtaposition fonctionnent différemment mais aboutissent à un même résultat : l'affichage d'un ensemble de donnée.
La concaténation consiste à mettre bout-à-bout une série d'informations lorsque la juxtaposition consiste à les placer côte-à-côte (cette mécanique est mieux expliquée que je n'en suis capable).
Cette mécanique qui ne se différencie pas que par les termes, amène à un gain (infime) en vitesse de traitement.
Toutefois il est très important de prendre ceci en considération. Le caractère de juxtaposition peut-être utilisé à la place du caractère de concaténation uniquement dans le cas de la commande echo.
Ainsi
echo 'Mon texte et sa ',$variable ; /* fonctionne !*/
$output = 'Mon texte et sa ',$variable;
echo $output; /* ne fonctionne pas !*/
Classement d'une sortie de texte de la plus rapide à la plus lente:
/*1er: */ echo $une,$chaine,$justaposee;
/*2eme: */ echo $une.$chaine.$concatenee;
/*3eme: */ echo "$une$chaine$translitee";
C'est tout... pour le moment.
Modifié par Greg_Lumiere (20 Feb 2016 - 07:59)
De fait, le passage de paramètres à la fonction écho PHP, séparés par des virgules, est similaire à ce que l'on connaît en Java (par exemple) avec la méthode println(v1,v2,v3), plus efficace que println(v1 plus v2 plus v3).
Dans le premier cas, les objets sont lus séquentiellement et transférés dans le flux de sortie.
Dans le second cas, une chaîne alphanumérique est reconstruite à chaque ajout d'objet puis sérialisée.
La différence en temps processeur est infime pris unitairement, mais sur de nombreux appels de ce type l'impact performances et mémoire peut être significatif.
Dans le premier cas, les objets sont lus séquentiellement et transférés dans le flux de sortie.
Dans le second cas, une chaîne alphanumérique est reconstruite à chaque ajout d'objet puis sérialisée.
La différence en temps processeur est infime pris unitairement, mais sur de nombreux appels de ce type l'impact performances et mémoire peut être significatif.
Merci pour toutes ces informations très utiles.
Mon problème est que je n'arrive pas à lier ma page index.php? à mon répertoire Projet2.
Je m'explique, normalement en cliquant sur mon répertoire (serveur local) situé dans le listing des fichiers Index of/ , je devrais pouvoir ouvrir d'autres fichiers comme mon index.php? etc. Ces fichiers apparaissant au fur et à mesure dans l'URL.
Je teste mon programme php... Dans l'URL, je devrais voir apparaître ceci : http:192.168......./Projet2/index.php?numpiece= sauf que j'ai une erreur serveur qui s'affiche si je teste sur Chrome ou page blanche sur Firefox. Seule cette partie s'affiche : http://192.168......./Projet2/
Voici mon lien $piece = 0;
J'ai modifié mon lien... Rien n'y fait.
Si vous aviez une petite idée. Merci
Mon problème est que je n'arrive pas à lier ma page index.php? à mon répertoire Projet2.
Je m'explique, normalement en cliquant sur mon répertoire (serveur local) situé dans le listing des fichiers Index of/ , je devrais pouvoir ouvrir d'autres fichiers comme mon index.php? etc. Ces fichiers apparaissant au fur et à mesure dans l'URL.
Je teste mon programme php... Dans l'URL, je devrais voir apparaître ceci : http:192.168......./Projet2/index.php?numpiece= sauf que j'ai une erreur serveur qui s'affiche si je teste sur Chrome ou page blanche sur Firefox. Seule cette partie s'affiche : http://192.168......./Projet2/
Voici mon lien $piece = 0;
if(isset($_GET["numpiece"])){
$piece = $_GET["numpiece"];
}
if($nord[$piece] !== -1){
echo '<a href="index.php?numpiece="'.$nord[$piece].'">NORD<img src="door.png"/></a>';
J'ai modifié mon lien... Rien n'y fait.
Si vous aviez une petite idée. Merci