PHP:可变范围问题/引用变量

时间:2009-08-14 07:10:58

标签: php

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

注意:未定义的变量:行中的行   ... / scratch.php on   第12行

嗨,

此函数返回错误,因为$ rows未在本地定义。我在另一个php脚本中定义变量$ rows,该脚本通过此脚本文件顶部的“includes('includes.php')”引用。

如何将变量$ rows传递或“引用”到此函数中?正如你所知,我仍在学习PHP,非常感谢任何帮助!

THX,

2 个答案:

答案 0 :(得分:5)

像这样定义你的功能:

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

然后像这样称呼它:

table($rows);

在您的调用脚本中定义$rows变量。

另一种选择是使$rows成为一个全局变量,在这种情况下你可以这样做:

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

但是,应尽可能避免使用全局变量,因此我仍然建议使用第一种方法。

答案 1 :(得分:2)

如果你想使用全局变量,你需要明确声明它。

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

在大多数情况下,依靠全局变量并不是一个好主意,你应该考虑将$rows作为参数传递。