企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
# 函数也叫方法 ## 下面是语法: ``` runction user(){ return 返回值; } 调用 echo user(); ``` —————————————————————————————————————————————————————————— # 参数传递点语法与传址 &类似于指针传址 ~~~ <?php function show(&$var):int{ $var++; return $var; } //传值 地址 $var=1; echo show($avr); //1 echo show($avr); //2 echo show($avr); //3 ~~~ 这样函数外面的$var值也就随着函数内的值变动而变动了,与静态(static)变量方法相同 ## 三点语法 ``` function sum(...$vars){ print_r($vars); } sum (1,2,3,4,5,6,7,8,9,0,10); 传递多个参数的值 ``` ## ...三点语法用于接收参数数量不定的参数。 ## ## sum返回一个数组。 ## —————————————————————————————————————————————————————————— # declare与参数裂隙约束(严格模式) ``` function show (int $num){ return $num; } show() //这里如果传入其他类型就会报错但是。 ``` ## declare(严格模式) ## declare(strict_types=1); ``` declare与参数类型约束 //严格模式 进制类型自动转换 declare(strict_types=1); function show (int $num){ return $num; } show() // 这里如果输入字符串类型的1,2,3,等等都不行。 ``` ** 其他类型也是这样的写法都可以参照以上int类型的写法** —————————————————————————————————————————————————————————— # 函数返回值约束 ## 语法: return 这里必须返回字符串否则错误; ``` function sun(): string { return 这里必须返回字符串否则错误; } ``` ### ?string return 这里返回的可以是字符串也可也是别的类型的参数; ``` function sun(): ?string { return 这里返回的可以是字符串也可也是别的类型的参数; } ``` ## 函数引用外部变量 ## ##函数中引入全局变量(函数引入函数以外的变量) ~~~ <?php $name="向军大叔"; function show () { $name=$GLOBALS['name']; return $name; } echo show(); ~~~ ## 系统内置回调函数 ## call_user_func_array('函数名称',[参数以数组形式出现]) ``` function show ($a,$b) { $c=$a+$b'; echo $c; } call_user_func_array('show',[100,20]) ; //等于调用函数 ``` ## 闭包函数 闭包函数==JS里的事件函数,也是写死一个方法可以一直方便调用 语法: ``` $a=fuction(){ $c=$a+$b; echo $c; } ``` 代码案例: ~~~ <?php $a=function(){ $a=100; $b=500; $c=$a+$b; return $c; }; function xiao($c){ echo $c(); } xiao($a); ~~~ # use 关键字 ``` $str='hello world111'; $a=function() use($str){ echo $str; }; $a(); ``` ## use等于把外部变量传入函数里去 代码如下: ~~~ <?php $c=100; $d=200; $a=function()use($c,$d){ $y=$c+$d; return $y; }; function xiao($c){ echo $c(); } xiao($a); ~~~ ## 函数注释规范 ``` /** @函数用途说明 @param $变量 数据类型 @param $变量 数据类型 @return 数据类型 */ ```