使用函数获取父变量

时间:2015-11-15 20:14:45

标签: php

我正在尝试从函数中访问$my_var,我知道我可以使用global $my_var来执行此操作,但是IMO并不是一个好方法,因为$my_var call_user_func 1}}在use之外,它将使用那个而不是其中的一个。我无法使用call_user_func(function(){ $my_var = null; function myFunc($value1, callable $callback){ // Access $my_var } }); myFunc('value 1', function(){}); ,因为该功能不是匿名函数。

有没有一种很好的方法可以在不使用课程的情况下完成这项工作?

if(fullname.equals(contacts[i].getFirstName())){

1 个答案:

答案 0 :(得分:-1)

有几种方法。最简单的方法是简单地将$var = null; function foo( $var ) { $var++; } $var = foo( $var ); 作为参数传递,并通过函数的返回值更新它:

& $var

另一种方法是将参数声明为引用($var = null; function foo( & $var ) { $var++; } foo( $var ); ):

$var = null;
$foo = function() use( & $var ) { $var++; }
$foo();

第三种方法是使用匿名函数并指定变量的 use

var createArray = function(){
  return function(){
    return [{brand: "extra", price: 1.50},
      {brand: "twoMint", price: 0.25},
      {brand: "trident", price: 2.50},
      {brand: "bubble", price: 0.10}]
  };
};