Variable non reconnue par une fonction

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Variable non reconnue par une fonction

par HD » 30 déc. 2006, 19:16

finalement je n'avais pas bien déclaré $dataresqq[$prixn] comme global car c'était une erreur "pas très intelligente" :D : je faisait la déclaration apres :oops: l'avoir utilisé
donc problème résolu, merci à tous

par Xenon_54 » 30 déc. 2006, 19:08

D'où ça sort ça? $dataresqq[$prixn]

Quel est exactement le type de déclaration globale que tu veux faire?

par HD » 30 déc. 2006, 19:07

merci ! =D>

par jojolapine » 30 déc. 2006, 19:06

encore normal, il faut d'abord déclarer $prixn en global, et ensuite $dataresq en global, mais à ce moment là, ça devient plus simple de passer la variable en argument de ta fonction

par HD » 30 déc. 2006, 19:04

:? problème si la variable a cette forme :
$dataresqq[$prixn]

donc
global $dataresqq[$prixn] ;
donne l'erreur suivante :
Parse error: parse error, expecting `','' or `';'' in ***** on line 756

par HD » 30 déc. 2006, 18:59

mince c'est vrai, j'aurai du y penser :oops:
global $prixn ;
c'est parfait
merci bien !

par Truc » 30 déc. 2006, 18:58

ou la passer en paramètre à la fonction.

Et puis faire un return de la variable... j'aime pas voir des fonctions qui affichent ce qu'elles peuvent renvoyer :)

par jojolapine » 30 déc. 2006, 18:54

c'est normal, car la portée d'une variable définie dans le corp d'une page php (cad, hors fonctions et classes) ne peut pas être atteinte directement dans une fonction ou classe, il faut d'abord déclarer cette variable comme globale, grace au mot clef global...

Variable non reconnue par une fonction

par HD » 30 déc. 2006, 18:48

bonjour
j'ai un (très) long code qui, vers la fin définit puis exploite une fonction :
function afficher_tableau($tableau) 
    {
    foreach ($tableau as $posit=>$valeur) 
        {
        if(is_array($valeur)) 
            { 
            afficher_tableau($valeur);
            }
        
        else
            {
                  ..............................
                  echo $prixn ;
            }
        } 
    } 

afficher_tableau($tableau);
Si je met echo $prixn ; avant la fonction, l'affichage de $prixn se fait correctement.
Problème : la fonction ne reconnait pas $prixn !!

Notice: Undefined variable: prixn in
:?
d'où vient le problème ? et comment le résoudre ?
merci d'avance pour votre aide