我想将变量绑定到函数的作用域,我可以在 PHP 5.3 之后使用 'use' 关键字在 php 中执行此操作,但是如何在 PHP 5.3 以下的版本中执行等效操作?
test_use_keyword();
function test_use_keyword(){
$test =2;
$res=array_map(
function($el) use ($test){
return $el * $test;
},
array(3)
);
print_r($res);
}
您可以使用全局变量,但应尽可能避免全局变量。作为一个建议,在不知道你想用这个解决什么问题的情况下
class Xy ( {
private $test;
public function __construct ($test) {
$this->test = $test;
}
public function call ($el) {
return $el * $this->test;
}
}
print_r(array_map(array(new Xy(2), 'call'), array(3));
旧式 lambda 表达式也有可能
$test = 2;
$a = create_function ('$el', 'return $el * ' . $test . ';');
print_r (array_map($a, array(3)));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)