回覆列表
-
1 # 得到歷史
-
2 # 使用者7592970122724
任何一對花括號{}中的語句集都屬於一個塊,在這之中定義的所有變數在程式碼塊外都是不可見的,我們稱之為塊級作用域. C擁有塊級作用域,PHP和JS都沒有塊級作用域,這可能是動態語言為了簡化程式設計.JS在函式內部無需宣告,可以直接訪問函式外部的變數,PHP則需要先用global宣告或透過$GLOBALS訪問.
php >= 5.3.0Put test1() into test(). Anonymous Function<?phpfunction test(){$name = "programmer";$sex = "male";$hobby = "play computer game";//combine all variables into an associative array.$vars_keys = ["name", "sex", "hobby"];$vars = compact($vars_keys);//inject the variables array into test1().$test1 = function () use ($vars) { //extract the array to numerous variables.extract($vars); echo $name;};//you have to call it here.$test1();}test();