PHP静态关键字和创建函数问题
我最近在PHP方面遇到了一些相当有趣的问题。我试图在PHP中创建一个闭包,并将其分配给一个静态变量,这样它只需要定义一次PHP静态关键字和创建函数问题,php,Php,我最近在PHP方面遇到了一些相当有趣的问题。我试图在PHP中创建一个闭包,并将其分配给一个静态变量,这样它只需要定义一次 static $hasParent = create_function( '$category, $parent_id', <<<'FUNC' ...code... FUNC ); static$hasParent=create_函数(“$category,$parent_id”, 注意: function foo() { st
static $hasParent = create_function( '$category, $parent_id', <<<'FUNC'
...code...
FUNC
);
static$hasParent=create_函数(“$category,$parent_id”,
注意:
function foo() {
static $bar = function () {
echo 'bar';
};
echo 'foo', $bar();
}
foo();
function foo() {
static $bar = null;
if ($bar === null) {
$bar = function () {
echo 'bar';
};
}
echo 'foo', $bar();
}
foo();
静态变量可以如上面的示例所示声明
为这些变量赋值,这些变量是
表达式将导致分析错误
参考:
所以,不正常:
function foo() {
static $bar = function () {
echo 'bar';
};
echo 'foo', $bar();
}
foo();
function foo() {
static $bar = null;
if ($bar === null) {
$bar = function () {
echo 'bar';
};
}
echo 'foo', $bar();
}
foo();
正常:
function foo() {
static $bar = function () {
echo 'bar';
};
echo 'foo', $bar();
}
foo();
function foo() {
static $bar = null;
if ($bar === null) {
$bar = function () {
echo 'bar';
};
}
echo 'foo', $bar();
}
foo();
谢谢Yoshi,让我感动的一点是,我试图分配一个基本上是表达式的东西。再次感谢!