Un petit débuggage

Résolu
Signaler
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
-
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
-
Bonsoir,
Pouvez-vous m'aider à débugger cette portion de code...

<?
$count = 0; //UNE VARIABLE UNIVERSELLE POUR TOUTE LA PAGE
function Executer() {
$count += 1;
}
//CORPS DE PROGRAMME
Executer();
echo $count;
?>

Le résultat qui s'affiche devrait être 1. Mais ça ne marche pas...

Cordialement...

===========
ViewVite : HTML

12 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Dsl :




$Asso[$MaVariable]

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
22
Après "longue" réflexion j'ai trouvé la réponse à mes questions.


Je repensais subitement à la programmation avec Maple qui est presque comme PHP, c'est-à-dire que les variables sont allouées au niveau d'une procédure (pour ne rien mélanger) et non globalement comme cela l'est avec Pascal. Oh? Avez-vous dit global ? Oui tout à fait, et cela donne :


<?
$count = 0;
function Executer() {

global $count;

$count + =1;
}
Executer();
echo $count;
?>


Ceci dit vos réponses étaient également instructives pour moi. Par ailleurs, en ce qui concerne...


1°/ ...le message «Mouelleux...??», mon problème était plus subtil encore, car PHP et Pascal n'ont pas les mêmes habitudes. L'explication sera donnée dans mon premier super code source que je posterai très prochainement.


2°/ ...«Comment insérer un caractère ASCII précis à une chaine ?»: on utilise la fonction chr() qui est la même qu'en...


3°/ ...«J'ai des pb avec in_array»: je suis passé par foreach.


Voilà. C'était histoire de faire le point.

===========
ViewVite : HTML
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut ;-)



<?php
$count = 0; //UNE VARIABLE UNIVERSELLE POUR TOUTE LA PAGE
function Executer(&$count) {
$count +=1;
}
//CORPS DE PROGRAMME
Executer($count);
echo $count;
?>



ça devrait fonctionner ;-)



a ++


Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
ah, je ne conaissais pas le passage de paramètre par référence en PHP, merci, c'est toujours bon à savoir


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happyhttp://coucou747.hopto.org
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
22
Merci beaucoup... cela va résoudre un autre de mes problèmes alors. Il faut ajouter que ce genre de ruse n'existe pas en Pascal. Donnons juste un exemple analogue :

program PHP;
var CountHits : integer;
procedure Increm;
begin
CountHits := CountHits + 1;
end ;
begin
CountHits : = 0;
Increm;
WriteLn(CountHits);
ReadLn;
end.

Comme aucun paramètre n'a à être passé, ça m'avait troublé dans PHP...

AUTRE QUESTION
Comment forcer PHP à considérer une variable $MaVariable comme étant une chaîne de caractères ?
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
comment ça ?

toute car est à la fois chaine et int...



$a=0;



$a='0HELLO'


$a++;



et la $a=1...
In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
après si par exemple tu veux comparer une variable à une chaîne et en même temps comparer son type tu fais ceci :



if($variable==='chaine')

{

//ta variable est une chaine de caractères et porte la valeur 'chaine'

}

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
22
Ca marcherait ça ?
$MaVariable = "$MaVariable"

J'expose le pb:
$Tbl = array ('01', '02');
$Asso = array ('un', 'deux');

Je récupère une variable dans un fichier via fgets, je cherche sa position dans $Tbl, et j'extrais la case correspondante par position dans $Asso.
Ainsi, si $MaVariable=='02', j'ai au final 'deux' en résultat.

Mais PHP ne trouve rien, alors qu'il devrait.
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
$Asso[$Tb1]






In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Je dirais plutôt



$Asso[MaVariable]

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
exact...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
22
Merci beaucoup de votre aide. Mais j'ai d'autres petits problèmes:

Comment insérer un caractère ASCII précis à une chaine ?
J'ai des pb avec in_array
Gérer une boîte de confirmation: «êtes-vous sûr ?»

Anthomicro m'a fait penser aux tableaux associatifs, mais $MaVar ne trouve aucune correspondance dans mon tableau, sachant que $MaVar est issue d'un post et comparée à une autre variable issue d'un fgets d'un fichier à plusieurs lignes.

Je vais aller réfléchir à ce problème...

===========
ViewVite : HTML