2016-06-09 89 views
0

你好我有这种结构的内部多维数组的价值观:获取另一个阵列

$GLOBALS['config'] = array(
      'mysql' => array(
        'host' => 'localhost', 
        'username' => 'root', 
        'password' => 'root', 
        'dbname' => 'database' 
       ), 
      'session' => array(
        'session_name' => 'user' 
       ), 
      'remember' => array(
        'cookie_name' => 'hash', 
        'cookie_expiry' => 604800 
       ), 
      'folder' => array(
        'root' => 'backend', 
        'header' => 'head', 
        'views' => 'views' 
       ), 
      'database' => array(
        'names' => 'utf8mb4', 
        'charset' => 'utf8mb4', 
        'collation' => 'utf8mb4_general_ci', 
        'driver' => 'pdo' 
       ), 
      'url' => array(
       'base_url' => 'http://www.example.com/backend/', 
       'document_root' => $_SERVER['DOCUMENT_ROOT'] . "/backend" 
       ), 
      'languages' => array(
        'english' => 'en', 
        'german' => 'de', 
        'greek' => 'gr' 
       ), 
      'headers' => array(
        '404' => 'HTTP/1.0 404 Not Found', 
        '401' => 'HTTP/1.0 401 Unauthorized', 
        '500' => 'HTTP/1.0 500 Internal Server Error', 
        '403' => 'HTTP/1.0 403 Forbidden' 
       ), 
      'title' => array(
        'login' => 'Admin Dashboard', 
        'register' => 'Admin Dashboard | User Registration', 
       ) 
     ); 

,我想在url/BASE_URL是这样

'base_url' => 'http://www.example.com/'.$GLOBALS['config']['folder']['root'].'/' 

所以如果我改变文件夹我只有唯一的地方改名字,但我得到像语法错误:

Notice: Undefined index: config in C:\xampp-php56\htdocs\backend\core\init.php on line 31 

可能什么,我试图做的?如果可能的话如何?

+0

不能引用自己的数组定义 – billyonecan

+0

内的数组的索引我怎么能引用到该文件夹​​数组此URL阵列内的任何想法? – BRG

+0

只需在定义阵列后设置它即可。 – billyonecan

回答

2

当您仍在定义数组时,您无法访问另一个数组索引。您定义数组的语句尚未完成,只有在初始语句完成后才能访问数组。

您需要尽可能多地设置您的数组,然后返回并添加引用其他数组索引的数组元素。

所以首先就像你在做的那样创建你的大数组,而不需要base_url。

$GLOBALS['config'] = array(
    ... 
); 

现在回去,并添加URL/BASE_URL,您现在可以访问的config数组索引。

$GLOBALS['config']['url']['base_url'] = 'http://www.example.com/'.$GLOBALS['config']['folder']['root'].'/'; 

例子:https://3v4l.org/M7itf

+0

这就是要点在同一个阵列不在单独的 – BRG

+1

@BRG我不想你明白。当你在定义array_的过程中,你无法访问数组索引。你不能做你想做的事情。我向您展示了完成此操作的正确方法,即使这不是您想要的。 – jszobody

+0

@BRG看到我刚刚收录的示例链接 – jszobody

1

错过点 'base_url'=>'http://www.example.com/' $ GLOBALS ['config'] ['folder'] ['root']。''''''

+0

,现在它说undefined索引配置...我想它不能看到该文件夹​​被命名为配置 – BRG