2016-06-09 79 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