#function #codeigniter #global-variables
#функция #codeigniter #глобальные переменные
Вопрос:
class Someclass{
function topFunction()
{
function makeMeGlobal($var)
{
global $a, $b;
$a = "a".$var;
$b = "b".$var;
}
makeMeGlobal(1);
echo "$a <br>";
echo "$b <br>";
makeMeGlobal(2);
echo "$a <br>";
echo "$b <br>";
}
}
Я использую этот тестовый код на codeigniter, но ничего не происходит.
Я полагаю, чтобы напечатать результат, подобный этому
a1
b1
a2
b2
Как обрабатывать эти функции внутри класса?
Ответ №1:
Вы объявляете глобальные переменные внутри области действия функции.
Попробуйте объявить их в области видимости класса:
class Someclass{
function topFunction()
{
function makeMeGlobal($var)
{
global $a, $b;
$this->a = "a".$var;
$this->b = "b".$var;
}
makeMeGlobal(1);
echo $this->a . "<br>";
echo $this->b . " <br>";
makeMeGlobal(2);
echo $this->a . "<br>";
echo $this->b . "<br>";
}
}
Ответ №2:
вы создаете глобальные переменные внутри функции, попробуйте создать их в области видимости класса, а не в функции. это должно сработать.