2009-08-14 11 views
1
<?php 
function table() { 
    ot(); 
    for($x=0; $x<$rows; $x++) { 
    table_row($x); 
} 
    ct(); 
} 
?> 
Référencer

Notice: Undefined variable: lignes .../scratch.php sur ligne 12PHP: la portée des variables Question/Variables

Salut,

Cette fonction est renvoyer une erreur car $ rows n'est pas défini localement. Je définis la variable $ rows dans un autre script php, référencé via "includes ('includes.php')" en haut de ce fichier de script. Comment transmettre ou "référencer" la variable $ rows dans cette fonction? Comme vous pouvez le constater, j'apprends toujours PHP et toute aide est grandement appréciée!

thx,

Répondre

5

Définissez votre fonction comme ceci:

function table($rows) { 
    ot(); 
    for($x=0; $x<$rows; $x++) { 
    table_row($x); 
} 

Et puis appelez comme ceci:

table($rows); 

Si la variable $rows est défini dans votre script d'appel.

L'autre option serait de faire $rows une variable globale, dans ce cas, vous pouvez faire:

function table() { 
    global $rows; 
    //etc 
} 

Cependant, les variables globales doivent être évitées si possible, donc je vous recommande encore la première méthode.

2

Si vous voulez utiliser la variable globale avec la fonction, vous devez l'expliquer explicitement.

<?php 
function table() { 
    global $rows; 
    for($x = 0; $x < $rows; $x++) { 
     table_row($x); 
    } 
} 

Dans la plupart des cas, il n'est pas une bonne idée de compter sur vous et globals devez passer $rows comme paramètre.

Questions connexes