douji2520
2015-07-03 07:49
浏览 83
已采纳

PHP范围子匿名函数在父函数中改变变量

I have the following code.

function up() {
    $runafterupdate = [];
    Schema::connection('exitproducts')->create('exitcontrol_carmanager_manager',  function($table)
                {
                    $table->engine = 'InnoDB';
                    $table->increments('id');
                    $table->string('code');
                    $runafterupdate['code'] = true;
                    $table->timestamps();
                });
            }
    if(isset($runafterupdate['code'])) {
        echo "it worked!";
    }
}

And i'm used to JavaScript where you can alter the values of the parent scope, but aparently php follows different rules. I've tried reading through http://php.net/manual/en/language.variables.scope.php but I really don't want to use globals.

Is there a way to alter the variables in the parent scope with php or is my only resort in this case a global variable?

图片转代码服务由CSDN问答提供 功能建议

我有以下代码。

  function up()  {
 $ runafterupdate = []; 
 Schema :: connection('exitproducts') - > create('exitcontrol_carmanager_manager',function($ table)
 {
 $ table-> engine ='InnoDB';  
 $ table-> incrementments('id'); 
 $ table-> string('code'); 
 $ runafterupdate ['code'] = true; 
 $ table-> timestamps()  ; 
}); 
} 
 if(isset($ runafterupdate ['code'])){
 echo“it working!”; 
} 
} 
    
 
 

我已经习惯了JavaScript,您可以在其中更改父作用域的值,但显然PHP遵循不同的规则。 我尝试通过 http://php.net/manual/en/language.variables.scope.php 但我真的不想要 使用全局变量。

有没有办法 使用php更改父作用域中的变量,或者我是唯一的手段,在这种情况下是一个全局变量?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

相关推荐 更多相似问题