abstrait:<?php $a1 = '3'; $b1 = '4';function add($a ,$b) { echo $a.'<hr>'; //函數(shù)變量。可以輸出 輸出結果1 echo
<?php
$a1 = '3';
$b1 = '4';
function add($a ,$b) {
echo $a.'<hr>'; //函數(shù)變量??梢暂敵?輸出結果1
echo ($GLOBALS['a1']).'<hr>'; //全局變量,不可以在函數(shù),添加來$GLOBALS[]后。可以輸出a1的值為3
echo $a1.'<hr>'; //全局變量,不可以在函數(shù),需要$GLOBALS[]調用全局變量到函數(shù)內使用才可以輸出
echo $b.'<hr>'; //函數(shù)變量??梢暂敵?輸出結果2
echo $b1.'<hr>'; //全局變量,不可以在函數(shù)內輸出,需要$global[]調用全局變量到函數(shù)內使用才可以輸出
}
echo $a.'<hr>'; //因為是函數(shù)變量。因此不可輸出
echo $a1.'<hr>'; //全局變量??梢暂敵觯Y果:3
echo $b.'<hr>'; //因為是函數(shù)變量。因此不可輸出
echo $b1.'<hr>'; //全局變量??梢暂敵?,結果:4
add('1','2');
// 輸出結果:
// 輸出順序先輸出函數(shù)外:
// 1:echo $a.'<hr>'; 報錯。
// 2:echo $a1.'<hr>'; 輸出結果:3。
// 3:echo $b.'<hr>'; 報錯。
// 4:echo $b1.'<hr>'; 輸出結果:4.
// 再輸出函數(shù)內:
// 1:echo $a.'<hr>'; 輸出結果:1
// 2:echo ($GLOBALS['a1']).'<hr>'; 輸出結果3。
// 3:echo $a1.'<hr>'; 報錯。
// 4:echo $b.'<hr>'; 輸出結果:2
// 5:echo $b1.'<hr>'; 報錯。
我能理解的就是這么多了。。塊級完全沒概念。感覺理論應該適合函數(shù)作用域是一個道理的。應該是會導致無法調用。解決辦法就是$GLOBALS[]來調用,也可以用傳參和 use來調用。不知道這樣理解對不對。
匿名函數(shù)我的理解是:就是把一個沒有名字的函數(shù)賦值給一個變量,通過變量來調用這個函數(shù)。同時因為這個函數(shù)封閉在這個變量里了。所以叫閉包。
Professeur correcteur:西門大官人Temps de correction:2019-04-26 13:30:40
Résumé du professeur:匿名函數(shù)就是沒有名字的函數(shù),可以把這個函數(shù)賦值給一個變量,也可以不賦值給一個變量 如有的回調函數(shù)。