Additionner deux chaîne de caractère

Bobis
Invité n'ayant pas de compte PHPfrance

30 avr. 2007, 17:47

Bonjours,

J'aimerais additionner deux chaîne de caractère, prenons par exemple une boucle où a chaque fois on ajoute un bout de chaîne :
$iCpt=0
while($iCpt<3)
{
$var="hier";
$var2="j'ai mangé ";
$iCpt++;
}
Et j'aimerais avoir comme résultat
hier j'ai mangé j'ai mangé j'ai mangé
Comment c'est possible ?
Parceque j'ai essayé avec un "+" entre mais cela ne fonctionne pas.

Merci, Bobis.

ViPHP
ViPHP | 5924 Messages

30 avr. 2007, 18:03

L'opérateur de concaténation en php, c'est '.', pas '+'...

Bobis
Invité n'ayant pas de compte PHPfrance

30 avr. 2007, 18:10

Moi le "." ne fait pas vraiment un "+". Je vais vraiment qu'il additionne.

J'ai mal mis le résultat que je veux. Cest plutot cela que je veux obtenir:
hier j'ai mangé hier j'ai mangé j'ai mangé hier j'ai mangé j'ai mangé j'ai mangé

Invité
Invité n'ayant pas de compte PHPfrance

30 avr. 2007, 18:15

Avec le "." on obtient ceci :
hier j'ai mangé hier j'ai mangé hier j'ai mangé

ViPHP
ViPHP | 5924 Messages

30 avr. 2007, 18:16

echo 'test' . 'test';
donne 'testtest'.
C'est la syntaxe de base de php...

Invité
Invité n'ayant pas de compte PHPfrance

30 avr. 2007, 18:22

Oui mais c'est pas ce que je veux. Avec mon exemple et ton "." cela donnera :
hier j'ai mangé hier j'ai mangé hier j'ai mangé
alors que je veux :
hier j'ai mangé hier j'ai mangé j'ai mangé hier j'ai mangé j'ai mangé j'ai mangé

Mammouth du PHP | 991 Messages

30 avr. 2007, 19:41

$iCpt=0
while($iCpt<3)
{
$var ="hier";
$var2 .="j'ai mangé ";
$iCpt++;
}


Cela repond t'il a ta question ?
DevOps, Symfony4, Hoa

Invité
Invité n'ayant pas de compte PHPfrance

30 avr. 2007, 19:47

Non. Mais c'est pas grave, je crois pas qu'on arrive a me comprend, je ferais autrement.

Merci d'y avoir réfléchit.

Mammouth du PHP | 991 Messages

30 avr. 2007, 19:49

j'ai tester ma methode et ca marche ... efin que'est ce que tu veut que l'on te dise de plus si on a pas d'élément ...
DevOps, Symfony4, Hoa

Invité
Invité n'ayant pas de compte PHPfrance

30 avr. 2007, 20:08

Mais avec ton exmple c'a donne ca :
hier j'ai mangé hier j'ai mangé hier j'ai mangé
alors que je veux ca :
hier j'ai mangé hier j'ai mangé j'ai mangé hier j'ai mangé j'ai mangé j'ai mangé
Le truck important c'est que ca ce trouve dans une boucle.

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

30 avr. 2007, 21:28

Bobby, ce serait cool de lire les descriptions pour poster dans le bon forum à l'avenir. Celui-ci dit "Questions sur le PHP (version 3 ou 4), pour ceux qui font du PHP depuis au moins plusieurs mois." et je doute que tu fasses du PHP depuis au moins plusieurs mois. Du coup je déplace là où ça va bien.

Quant au reste, le manuel du PHP se trouve à l'adresse suivante : http://www.php.net/manual/fr/langref.php
Si tu suis les chapîtres dans l'ordre tu seras incollable sur le PHP avant cet été. Une confidence, c'est comme ça que j'ai appris le PHP. Et durant ton apprentissage tu tomberas sur le chapître 15 et découvrira les opérateurs . et .= qui correspondent à ce que tu cherches à faire.

La mauvaise nouvelle c'est que ton problème n'est pas très bien expliqué et tes exemples se contredisent. Pourrais-tu reformuler ta question avec un exemple concret ? (par concret, j'entends "ce que tu veux _vraiment_ faire"). Merci.

ViPHP
ViPHP | 5924 Messages

01 mai 2007, 01:38

Je rejoins ce que dit Hubert Roksor, pour apprendre, ya rien de mieux que la référence.

Ensuite, pour ton problème, ca peut se faire avec 2 while imbriqués, ou, quand on est malin, un seul. Je te donne la seconde méthode, tu n'auras plus qu'à l'implémenter :

(soit n le nombre de fois que l'on a mangé :) )

Code : Tout sélectionner

i=0 str='' result='' tant que i<n faire str = str + ' j'ai mangé' result = result + 'hier' + str fin tant que
Tu n'as plus qu'à adapter l'"algorithme" à la syntaxe et aux spécificités de php.

Invité
Invité n'ayant pas de compte PHPfrance

02 mai 2007, 09:02

Oui c'est exactment ca. Parfait, merci.

Merci beaucoup a tous d'avoir essayé a résoudre mon probème.