【问题标题】:Global Variable not working php全局变量不起作用php
【发布时间】:2013-08-27 20:47:43
【问题描述】:

我有一个包含此代码的 php 文件 tableinfo.php ->

<?php
$table_info = array(
    array(
        'table_name' => 'managers',
        'n_cols' => '4',
        'col_info' => array(
            'Name' => 's',
            'ldap' => 's',
            'avrsid' => 'i',
            'bu' => 's'
        ),
    )
);
?>

我已将此文件包含在另一个文件 /controllers/connection.php 中,就像这样 ->

include $_SERVER['DOCUMENT_ROOT'] . '/controllers/tableinfo.php';

connection.php 有一个名为 connection 的类,它在函数中使用 $GLOBALS 从 tableinfo.php 访问数组,如下所示 ->

$types .= $GLOBALS['table_info'][0]['col_info'][$filters[self::filters][$i][self::field]];

其中 $types 是一个字符串,$filters 是另一个具有我想要的字段名称的变量。

我像这样自动加载connection.php ->

spl_autoload_register(function ($class) {
    require_once($_SERVER['DOCUMENT_ROOT'] . '/controllers/' . $class . '.php');
});

现在,我有两个页面,root/js/managers.php 和 root/js/ldap.php,在 manager.php 上一切正常,但在 ldap.php 上出现此错误 ->

注意:未定义索引:table_info in

C:\xampp\htdocs\avrs\htdocs\controllers\connection.php 第 76 行

我无法弄清楚我做错了什么。请建议。提前致谢。

【问题讨论】:

    标签: php global-variables


    【解决方案1】:

    好吧,你的实际错误(注意:未定义索引:table_info)意味着它正在寻找一个索引为 table_info 的数组,并且它返回一个 NULL(你应该使用 isset() 来完成类似的事情)。

    基本上,您的 $table_info 数组并没有像您想象的那样在 tableinfo.php 中设置。因此,请确保您正确地包含它(使用正确的路径)并从那里开始。除非能够实际查看您的代码,否则很难判断。

    【讨论】:

      猜你喜欢
      • 2013-09-21
      • 1970-01-01
      • 2010-10-20
      • 1970-01-01
      • 2013-07-13
      • 2016-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多