未定义的变量,但它存在

时间:2010-08-27 18:56:46

标签: php

我有一个数组,但是当我尝试使用它时,我会收到Undefined变量通知。

以下是相关部分:

    $varEvents = array();
...
    if ($selectedResult) {
while ($row = mysql_fetch_assoc($selectedResult)) {
    array_push($varEvents, $row['eventID']);
}
mysql_free_result($selectedResult);

}

...
            print_r($varEvents);

        if (is_array($varEvents)) {
            if (count($varEvents) > 0) {
            if (in_array($id, $varEvents)) {
                $varRegistered = 1;
            }
        }
        unset($varEvents);
    }

,结果显示为:

  

数组([0] => 4)   注意:未定义的变量:第143行/home/.../www/registration.php中的varEvents   注意:未定义的变量:第145行/home/.../www/registration.php中的varEvents

第143行:print_r($ varEvents); 第145行:if(is_array($ varEvents)){

所有相关的行都在同一个循环中,我得到了我期望的大部分结果,除了$ varRegistered永远不会变为1并且会弄乱我的结果。

1 个答案:

答案 0 :(得分:2)

很可能是因为这一行:

unset($varEvents);

你在循环中取消设置变量,下一次迭代再也找不到它。