PHP使用变量内部函数

时间:2017-03-21 19:59:22

标签: php function scope

这很简单,但我不能理解它。我正在设置一个日期戳,并希望能够在像这样的函数中使用它。

    $date_stamp = date("dmy",time());

    function myfunction() {
        echo $date_stamp;
    }

这不起作用且函数内部没有$ date_stamp,我该如何使用?

2 个答案:

答案 0 :(得分:3)

这是基本的PHP。 $date_stamp超出了您的职能范围。要在范围内,您必须将其作为参数传递:

$date_stamp = date("dmy",time());

function myfunction($date) {
    echo $date;
}

// call function
myfunction($date_stamp);

请参阅PHP variable scope

答案 1 :(得分:1)

正如John Conde的回答一样,你也可以使用像这样的闭包

<?php
$date_stamp = date("dmy",time());

$myfunction = function() use ($date_stamp)  {
    echo '$myfunction: date is '. $date_stamp;
};

$myfunction();