PHP
downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

$GLOBALS> <Предварително-дефинирани променливи
Last updated: Fri, 02 Jan 2009

view this page in

Свръхглобални

СвръхглобалниСвръхглобалните са вградени променливи, които са налични винаги и във всеки обхват

Описание

Има няколко предварително-дефинирани променливи в PHP, които са "свръхглобални", което означава, че те са налични във всеки обхват навсякъде в скрипта. Няма нужда да се прави global $variable;, за да се достъпват в рамките на функции или методи.

Тези свръхглобални променливи са:

Дневник на промените

Версия Описание
4.1.0 Свръхглобалните са въведени в PHP.

Бележки

Забележка: Променлива наличност
По подразбиране всички свръхглобални са налични, но има директиви, които въздействат на тази наличност. За повече информация, вижте документацията за variables_order.

Забележка: Работа с register_globals
Ако непрепоръчителната директива register_globals е включена (установена на on), тогава променливите вътре също ще бъдат налични в глобалния обхват на скрипта. Например $_POST['foo'] ще съществува също и като $foo.
За информация по въпроса, вижте раздела от FAQ, озаглавен "Как ми въздейства register_globals?"

Забележка: Променливи променливи
Свръхглобалните не могат да бъдат използвани като променливи променливи в рамките на функции или методи на клас.



add a note add a note User Contributed Notes
Свръхглобални
lskatz at gmail dot com
10-Oct-2008 05:51
Tibor:
It's not a good idea to use $_ENV unless you are specifying an environmental variable.  This is probably a better example that I found on another page in php.net

<?php
function test() {
   
$foo = "local variable";

    echo
'$foo in global scope: ' . $GLOBALS["foo"] . "\n";
    echo
'$foo in current scope: ' . $foo . "\n";
}

$foo = "Example content";
test();
?>
Tibor > rocketmachine.com
06-Oct-2008 07:00
You can use superglobals to make your variables available everywhere without declaring them global.

<?php

$_ENV
['mystring'] = 'Hello World';
$_ENV['myarray'] = array('Alpha', 'Bravo', 'Charlie');

function
test() {
    print
$_ENV['mystring'];
   
print_r($_ENV['myarray']);
}

test();

?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites