|
|
|
| Вот у меня есть к примеру такой код:
<?php
$var=10;
function f ()
{
$first=$GLOBALS['var'];
echo $first;
}
?>
|
$first должна принять значение, но этого не происходит. Почему? | |
|
|
|
|
|
|
|
для: dump
(03.06.2010 в 13:41)
| | Почему вы думаете, что не происходит? | |
|
|
|
|
|
|
|
для: dump
(03.06.2010 в 13:41)
| | Скорее всего отключён флаг register_globals в php.ini, что несомненно правильно.
Если уж очень надо использовать в таком виде, то можно положить в каталог скрипта файл .htaccess с текстом:
php_flag register_globals on
|
| |
|
|
|
|
|
|
|
для: Axxil
(03.06.2010 в 13:54)
| | Register_globals тут вообще не при чём. Автор не запускает функцию. | |
|
|
|
|
|
|
|
для: Axxil
(03.06.2010 в 13:54)
| | Дополню.
И даже если б он был включен, ситуация бы не изменилась. :) | |
|
|
|
|
|
|
|
для: Trianon
(03.06.2010 в 15:03)
| | Согласен, перемудрил. | |
|
|
|
|
|
|
|
для: Axxil
(03.06.2010 в 15:25)
| | Да теперь код исполняется, но возникла другая проблема: нельзя получить доступ к элементам глобального массива из функции:
<?php
$var=array('1','2');
function f ()
{
$first=$GLOBALS['var[1]'];
echo $first;
}
f();
?>
|
$first по-прежнему не принимает значение. | |
|
|
|
|
|
|
|
для: dump
(04.06.2010 в 05:45)
| | А у вас разве существует переменная var[1]?
$first=$GLOBALS['var'];
echo $first[1]; | |
|
|
|
|
|
|
|
для: sim5
(04.06.2010 в 05:50)
| | Всё, спасибо. Теперь я уже во всём разобрался. Нужно было записать так:
<?php
$var=array('1','2');
function f ()
{
$first=$GLOBALS['var'][1];
echo $first;
}
f();
?>
|
| |
|
|
|