批改状态:合格
老师批语:
1.函数有关键字function、函数名、参数以及函数体组成和函数返回值;
2.函数的参数可以约定类型,在参数声明参数类型关键字,函数参数通过:来约定函数返回值类型
3.例子
function sum(int a,int b):int{return $a+$b;}
use来允许函数调用时使用函数外部变量1.必须参数:在函数调用时,必须传参
2.默认参数:参数有默认值,函数调用可以不传参
3.可选参数:参数数量不定;函数调用时传几个用几个,类似JS种的剩余参数
4.引用参数:参数前面加&引用符,引用参数,可以不用return直接实时改变函数外部的变量
1.数组
2.对象
3.序列化字符串:
1.函数作用域:函数调用时产生作用域,作用域的操作无法使用直接使用外部变量和影响外部的值;
2.使用外部变量可以同 global声明变量时全局变量,或者通过超全局变量$GLOBALS[0]使用外部变量
3.匿名函,数可以通过use来使用外部变量,函数结束后就会释放外部变量;如果想实时改变外部变量可以同通过取值符&use(参数)前加上取值符即可
4 . use禁止使用以下三种参数
1.call_user_func(“函数名”,函数参数);
2.call_user_func_array(“函数名”,函数参数列表);
3.调用实列方法的用法
//实例方法的调用call_user_func_array([new User,"show"],[参数列表]);//类静态方法的调用call_user_func_array("User::say",[参数列表]);
1.函数中的静态变量不会随函数调用结束而消失
2.他会自动进入到下一次的函数调用中
3.可以实现在函数的多次调用过程中:共享数据 / 数据通信
1.explode(‘分界符’,字符串):把字符串拆成组装成索引数组;
2.implode(‘分隔符’,数组):把数组种的值展开组成字符串并返回
3.函数中与参数有关的函数:
4.extract():把关联数组中的拉平成变量,键做变量名,值做变量值
<?phpfunction sum(int $a,int $b) :string{return $a+$b;}echo var_dump(sum(12.23,5));function show(string $name="种业圈"):string{return $name."欢迎你!";}echo show();echo show("zhongyequan");function avg(...$agr):string{return array_sum($agr)/count($agr);}echo avg(1,2,3,4);$arr_p=["name"=>"ldy","age"=>20];echo implode(",",$arr_p);var_dump(explode(",",implode(",",$arr_p)));extract($arr_p);echo $name,$age;$a=10;echo '$a的原始值',$a;function change(int &$a){$a++;}echo change($a);echo '运行函数后$a的值',$a;echo "<hr>";function Asc(){static $a=0;return $a++."<br>";}echo Asc();echo Asc();echo Asc();echo Asc();echo "<hr>";$site="种业圈";$bg=function (string $a,string $b) use ($site){return $a.$b.$site;};echo $bg("你好!","欢迎你来到");function arr(string $a,int $b) :string{return json_encode(["name"=>$a,"age"=>$b]);}echo arr("ldy",20);var_dump(json_decode(arr("ldy",20),true)) ;
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号