使用global从父函数中获取变量(函数中的函数)

时间:2015-03-28 08:48:58

标签: php

我在PHP中有函数功能:

function myfunction() {
    $content = "somecontent";
    function secondfunction() {
       global $content;
       echo $content;
    }
    secondfunction();
}

global不起作用。为什么呢?

搜索了很多但没有找到解决方案。

非常感谢!

2 个答案:

答案 0 :(得分:4)

要在php中访问GLOBAL变量,必须首先将其定义为顶级以在任何级别上访问它。 更改代码并将myfunction()中的global定义为:

function myfunction() {
    global $content;
    $content = "somecontent";
    function secondfunction() {
       global $content;
       echo $content;
    }
    secondfunction();
}

答案 1 :(得分:0)

方法1:

function myfunction() {
    $content = "somecontent";
    function secondfunction($content) {
       echo $content;
    }
    secondfunction($content);
}

方法2:

function myfunction() {
    $content = "somecontent";
    $secondfunction = function() use ($content) {
       echo $content;
    };
    $secondfunction();
}

您还应该查看Nouman Arshad的答案。