foreach循环如何返回全局数组中的键和值


<?php
include 'global.php';
class Config {
    public static function login($path=null){
        if($path){
            $config=$GLOBALS['config'];
            $path=explode('/',$path);
            foreach($path as $bit ) {
                if($config[$bit]){
                    $config=$config[$bit];
                }
            }
            return $config;
        }
        return false;
    }
}

,全局数组为

<?php
session_start();
$GLOBALS['config']=array(
    'mysql'=>array(
        'host'=>'localhost',
        'username'=>'root',
        'password'=>'',
    ),
    'session'=>array(
        'username'=>'user',
        'user_logged'=>'logged_in'
    ),
    'status'=>array(
        'login'=>'true',
    )
);
spl_autoload_register( function($class){
    include 'classes/' .$class. '.php';
});

我需要访问全局数组中的元素。但我不明白他们是怎么做到的……有人能帮我一下吗?如何为web应用程序设计选择设计模式?

PHP有一个名为$GLOBALS的全局值数组;这个"超全局"变量无需声明就可以在任何地方使用。代码引用$GLOBALS['config']来初始化和读取该值。

http://php.net/manual/en/reserved.variables.globals.php

在非全局上下文中(即在函数中)使用$GLOBALS['config']的另一种选择是使用global关键字将其拉入作用域:

public static function login($path=null){
    global $config;
    if($path){    
        $path=explode('/',$path);
        foreach($path as $bit ) {    
            if($config[$bit]){    
                $config=$config[$bit];
            }   
        }
        return $config;
    }
    return false;
}

相关内容

  • 没有找到相关文章

最新更新