繁体   English   中英

我如何使该PHP工作?

[英]How Do I Get This PHP Working?

我希望下面会打印

live
got here

而是打印

got here

编码:

$config['env'] = 'live';

sayEnvironment();

function sayEnvironment () {

  echo $config['env'];
  echo 'got here';

}

如何设置此全局变量并使函数中的所有内容都可以访问它?

使用global在函数内部使用全局变量:

$config['env'] = 'live';

sayEnvironment();

function sayEnvironment () {
  global $config;
  echo $config['env'];
  echo 'got here';
}

或者,如果您具有匿名功能,则可以使用use

$sayEnvironment2 = function () use ($config) {
    echo $config['env'];
    echo 'got here';
};

$sayEnvironment2(); // must be called AFTER php parser has seen actual function.

样品

干得好,

$config['env'] = 'live';

sayEnvironment();

function sayEnvironment () {
global $config;
  echo  $config['env'];
  echo 'got here';

}

要回答您的问题,您可以为此使用PHP $GLOBALS

<?php

$GLOBALS['config']['env'] = 'live';

sayEnvironment();

function sayEnvironment () {
  echo $GLOBALS['config']['env'];
  echo 'got here';

}

尽管执行上述操作并不是真正的好习惯,但是在不知道您要达到的目的的情况下,很难建议另一种方法。 通常,某种形式的依赖注入会更好。

Docs: http : //php.net/manual/zh/reserved.variables.globals.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM