Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/12/2010, 18h47   #1
Membre du Club
 
Inscription : novembre 2010
Messages : 80
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 80
Points : 51
Points : 51
Par défaut A propos de foreach

Bonjoir , j'ai crée une boucle:

Code :
1
2
3
4
5
6
7
8
$valeur = array("a", "b");
foreach ($valeur as $val)
{
 
$nbrvariable += print("'".$val."', ");
 
}
print($nbrvariable);
J'obtient un
Citation:
'a', 'b', 2
alors que je m'attendais a un:
Citation:
'a', 'b',
Avez vous une explication?
merci
vaneck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2010, 23h05   #2
Futur Membre du Club
 
Inscription : novembre 2010
Messages : 22
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 22
Points : 15
Points : 15
Bonsoir Vaneck,

Ce n'est pas foreach qui pose problème.

En faisant un

Code :
1
2
3
 
@$valeur += print("'a', ");
echo $valeur += print("'b', ");
tu obtiendras le même résultat

L'opérateur + dans une assignation
permet d'incrémenter une variable type integer.
PHP considère donc qu'à chaque itération tu lui passe un int
La valeur réelle étant de type string, il va simplement incrémenter de 1 après avoir "casté" en int.

Pourquoi ne fais tu pas plutôt :

Code :
1
2
3
4
5
6
$data = array("a", "b");
foreach ($data as $key => $val)
{
  $nbrvariable .= "'$val', ";
}
echo $nbrvariable;
guyllo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h05.


 
 
 
 
Partenaires

Hébergement Web