Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
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 22/08/2011, 19h30   #1
Nouveau Membre du Club
 
Homme
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 36
Points : 36
Par défaut Peut-être une variable dynamique ?

Bonjour à tout le monde,

Voici mon petit problème.

J'ai ceci:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
 
for ($i=0; $i<22; $i++)
{
	$total = '0';
	for ($j=0; $j<16; $j++)
	{
		$txt = file_get_contents(''.$j.'-'.$i.'.txt');
		if ($txt == 'OK' )
		{
			$total = $total++;
		}
	echo $total;
	}
}
 
?>
Voila donc ma variable "total" change puisque c'est une boucle.
Le echo $total me renvoie 6, puis 2, etc...

Le souci c'est que j'ai besoin de garder ces infos dans des variables pour plus tard dans la page.
Mais comme la variable change je ne peux pas.

je souhaite donc stocker à chaque fois la variable "total" dans une autre qui sera fixe ( j'aurai donc 22 variables)
Par exemple, après le "echo $total" faire une ligne du genre:
et ensuite cela me donnerai
Code :
1
2
3
4
5
$total0 = ...
$total1 = ...
...
...
$total21 = ...
Je pourrai ensuite réutiliser ces variables plus loin dans ma page
Je sais que la syntaxe n'est pas bonne et je cherche donc une solution à ce problème.
J'espère avoir expliqué correctement mon souci.

En espèrant que vous puissiez m'aider...

Merci d'avance

P.S: je suis loin d'être un pro en php
ludo40190 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 19h37   #2
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 773
Points : 2 332
Points : 2 332
Bonjour,

Pas besoin d'une deuxième variable, juste de changer $total en tableau
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles.
- avant de poster
- Je ne réponds pas aux questions techniques en MP.
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/08/2011, 19h42   #3
Nouveau Membre du Club
 
Homme
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 36
Points : 36
euh tu veux dire un array ???
je ne suis pas sur d'avoir saisi concrètement la méthode à entreprendre et avec quelques recherches sur le net de "variable tableau" c'est encore pire...
snif
ludo40190 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 19h58   #4
Nouveau Membre du Club
 
Homme
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 36
Points : 36
peut etre quelque chose comme cela:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
 
for ($i=0; $i<22; $i++)
{
             $total = array();
	$total[$i] = '0';
	for ($j=0; $j<16; $j++)
	{
		$txt = file_get_contents(''.$j.'-'.$i.'.txt');
		if ($txt == 'OK' )
		{
			$total[$i] = $total[$i]++;
		}
	echo $total[$i];
	}
}
 
?>
cela fonctionnerait-il ?
ludo40190 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 19h58   #5
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Citation:
Envoyé par ludo40190 Voir le message
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for ($i=0; $i<22; $i++)
{
	// ... ?
	for ($j=0; $j<16; $j++)
	{
		$txt = file_get_contents(''.$j.'-'.$i.'.txt');
		if ($txt == 'OK' )
		{
			$total = //... ? (boucle sur $i et $j)
		}
		//... ?
	}
}
?>
je souhaite donc stocker à chaque fois la variable "total" dans une autre qui sera fixe ( j'aurai donc 22 variables)
Bonjour,
moi, je compte 22 x 16 = 352 variables possibles ...

Il faudrait préciser à quoi correspondent les $i et les $j,
- pour savoir si il faut un array à 2 dimensions (-> $total[$i] ) ou 3 dimensions (-> $total[$i][$j] )
- pour savoir comment les récupérer sans se tromper aussi ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 20h07   #6
Nouveau Membre du Club
 
Homme
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 36
Points : 36
non car je ne veux pas stocker chaque valeur qu'elle prend dans la deuxième boucle, mais chaque valeur finale de cette 2ème boucle.

Dites moi si je suis pas clair...

Et, comme dans la première boucle ma variable $i prend 22 valeurs, j'aurai 22 variabls différentes (j'ai tenté quelque chose juste un peu plus haut, pouvez-vous me dire si cela marcherait...)
ludo40190 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 20h22   #7
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Exact, j'avais pas bien lu dans la boucle $j ...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$total = array(); // (facultatif) déclaration de l'array (AVANT la boucle $i)
for ($i=0; $i<22; $i++)
{
	$total_temp = 0;
	for ($j=0; $j<16; $j++)
	{
		$txt = file_get_contents(''.$j.'-'.$i.'.txt');
		if ($txt == 'OK' )
		{
			$total_temp++;
		}
	$total[$i] = $total_temp;
	}
}
?>
pour lire/récupérer les valeurs dans l'array :
Code :
1
2
3
4
5
6
<?php
for ($i=0; $i<22; $i++)
{
	echo '('.$i.') : '.$total[$i];
}
?>
OU
Code :
1
2
3
4
5
6
<?php
foreach ($total as $i => $val)
{
	echo '('.$i.') : '.$val;
}
?>
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/08/2011, 20h31   #8
Nouveau Membre du Club
 
Homme
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 36
Points : 36
ok merci beaucoup je vais tester ça...
ludo40190 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2011, 20h52   #9
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 773
Points : 2 332
Points : 2 332
Oui un array, tableau étant le mot français
Et je pensais à la solution que t'a donné jreaux
__________________
- Avant toute chose : lire le mode d'emploi du forum et ses règles.
- avant de poster
- Je ne réponds pas aux questions techniques en MP.
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 18h14   #10
Nouveau Membre du Club
 
Homme
Inscription : juin 2011
Messages : 59
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juin 2011
Messages : 59
Points : 36
Points : 36
ok merci les gars cela marche au poil...
ludo40190 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h50.


 
 
 
 
Partenaires

Hébergement Web