php 将变量绑定到旧 PHP 中的函数作用域

2024-04-18

我想将变量绑定到函数的作用域,我可以在 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(使用前将#替换为@)

php 将变量绑定到旧 PHP 中的函数作用域 的相关文章

随机推荐