簡體   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