2017-03-21 101 views
-1

这真的很简单,但我无法理解它。我设置了一个日期戳,并希望能够使用这样的功能里面..PHP使用函数里面的变量

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

    function myfunction() { 
     echo $date_stamp; 
    } 

这不是工作和$ date_stamp不可用的功能里面,我该如何使用呢?

+0

@RyanVincent OMG,你是正确的!删掉那些废话。 –

回答

3

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

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

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

// call function 
myfunction($date_stamp); 

请参阅PHP variable scope

+1

当然你也可以在函数中移动'$ date_stamp = date(“dmy”,time());''。 – nogad

+0

非常真实。我不知道这是不是MCRE,所以我把它留在原处。 –

+0

你也可以使用'全球',但在这里提出这样的建议不会很好收到 – amenadiel

1

只是作为一个附加约翰·孔德的回答,您还可以使用闭包像这样

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

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

$myfunction();