1 <?php
2 header("Content-type:text/html;charset=utf-8");
3
4 $a=100;
5 $b=300;
6
7 function demo(){
8 global $a,$b;//在函数内部要会用外部的变量必须使用global 关键字声明
9 echo $a+$b;
10 }
11
12 demo();
13
14 function demo2(){
15 //上面我们说过要在函数内部使用外部变量使用global 关键字声明,这里还可以使用php提供的$GLOBALS[]来访问外部变量
16 echo $GLOBALS['a']+$GLOBALS['b'];
17 }
18
19 demo2();
20
21
22 //可变参数函数
23 function table(){
24 $args= func_get_args();//获取所有传进来的参数
25 for($i=0;$i<count($args);$i++){
26 echo $args[$i];
27 }
28 }
29 table("one","two","three","four");
30
31
32 //匿名函数和闭包
33 function callback($callback){
34 $callback();
35 }
36
37 callback(function(){
38 echo "这是一个闭包函数";
39 });
40
41 //方式递归 就是自己调用自己
42 function test($arg){
43 echo $arg;
44 if($arg>0){
45 test($arg-1);
46 }else{
47 echo "<---->";
48
49 }
50 echo $arg;
51 }
52
53 test(10);
54
55 //$var='字符串';
56 //callback(function() use ($val){
57 // echo "这是一个闭包($val)";
58 //});