У меня есть функция в PHP:
function myfunction() {
$content = "somecontent";
function secondfunction() {
global $content;
echo $content;
}
secondfunction();
}
global
не работает. Зачем?
Искал много, но не нашел решения.
Большое спасибо!
Чтобы получить доступ к переменной GLOBAL в php, вы должны сначала определить ее верхний уровень для доступа к ней на любом уровне. Измените свой код и определите global в myfunction() как:
function myfunction() {
global $content;
$content = "somecontent";
function secondfunction() {
global $content;
echo $content;
}
secondfunction();
}
Способ 1:
function myfunction() {
$content = "somecontent";
function secondfunction($content) {
echo $content;
}
secondfunction($content);
}
Способ 2:
function myfunction() {
$content = "somecontent";
$secondfunction = function() use ($content) {
echo $content;
};
$secondfunction();
}
Вы должны также проверить ответ Нумана Аршада.
global $content
, включен ли этот кусок? Что вы ожидаете отglobal
, и где он ведет себя иначе?